Introducción
En este tutorial aprenderemos a realizar el mítico juego del Pong en Scratch, o al menos una primera aproximación. En la parte 2 seguiremos mejorando el proyecto del Pong para aquellos que tengan suficiente experiencia como para completar este tutorial sin problemas.
Objetivos
- Dibujar objetos simples en Scratch.
- Realizar el control de movimiento básico de un objeto utilizando sensores (en lugar de eventos)
- Utilizar sensores de contacto para controlar aspectos del programa.
- Iniciarse en los «rebotes» horizontales de un objeto (pelota) con otro (pala).
Creando los objetos necesarios para el Pong
Lo primero que haremos será crear los primeros objetos que necesitamos para este juego. En un principio y para empezar, crearemos la «pelota» y las dos «palas». Lo ideal es que lo dibujemos, puedes elegir los colores que quieras, yo lo haré parecido al juego original. Así que:
- Pinto el fondo de negro
- Dibujo un cuadrado (pulsando tecla Shift para que los lados me salgan iguales)
- Dibujo un rectángulo (solo uno, lo duplico y me ahorro el trabajo)
Programando las palas
Empezaremos con el programa de las palas. Existen varias formas de hacer que se muevan. Como tenemos dos jugadores tendremos que elegir unas teclas para cada una. Yo, para la pala 1 jugaré con W y S, y para la pala 2 utilizaré las flechas. Podemos hacerlo de varias formas. Utilizaré la instrucción Cambiar y por al ser, para esto, la más adecuada. De estas dos opciones, ¿cuál prefieres?
Programando el movimiento de la pelota
Empezaremos programando el movimiento de la pelota. Luego, en el siguiente paso haremos que, además, controle los puntos de cada jugador. Lo primero que pondremos será colocarla en el centro (fíjate que el centro del disfraz de la pelota sea el correcto). También indicaremos que la pelota apunte en una dirección al azar. En la parte 2 del proyecto, mejoraremos todos estos parámetros, de momento empezaremos así. Ah, y habrá que decir a la pelota que todo el rato se mueva.
Ahora debemos añadir al por siempre un código que haga que rebote con las palas. En este apartado podemos extendernos bastante explicando el porqué, peo iremos a lo práctico. La idea es que si la dirección de la pelota es 90º, por ejemplo, cuando rebote apunte en dirección -90º. Si va en dirección -75º, debería rebotar en dirección 75º. Es decir, la dirección de la pelota debe invertir su valor, si es positiva ser negativa, si es negativa ser positiva. Eso lo podemos conseguir multiplicando por «-1». Vamos a por ello.
Contando los puntos
Para acabar esta primera parte de este tutorial haremos que el programa cuente los puntos. Como suele pasar hay muchas formas de hacerlo. Podríamos crear un objeto que hiciera de marcador, aunque también podemos utilizar dos variables directamente. Yo he decidido hacerlo con dos objetos que tenga tantos disfraces como puntos queremos contar.
Ahora lo que haremos es que cuando la pelota toque en un borde el disfraz correspondiente cambie al siguiente. Para ello utilizaremos mensajes. Si no sabes cómo funcionan los mensajes puedes consultar el tutorial de uso básico de mensajes. Finalmente, si alguno de los jugadores llega a 7 el juego se detendrá. La cuestión es, ¿cómo detectamos si metemos un punto o no? Algunas ideas:
- Comprobar la posición x de la pelota. Puedes aprender más sobre las posiciones en este tutorial sobre las coordenadas.
- Crear una linea en el fondo de otro color y comprobar si la pelota toca ese color.
- Crear un objeto a cada lado (de color negro para que no se vea) y detectar si lo toca.
Yo haré la última. Por lo que crearé un objeto alargado de color negro y muy fino. Lo duplicamos y lo colocamos a ambos lados. Podemos hacer que la pelota detecte si lo toca, en función de qué borde toca enviará un mensaje al marcador correspondiente para que cambie al siguiente disfraz. Veamos.
¡Buen trbaajo! Tienes ya tu propio Pong. Prueba a añadir más dificultad, efectos, otras imágenes… Añadiremos muchas cosas más en los siguientes apartados de este tutorial. En el apartado Ampliaciones y más ideas encontrarás más ideas y retos por si quieres que tu proyecto quiera seguir creciendo por tu propia cuenta.
En Bananacoders podrás encontrar la parte 2 de este proyecto, pero puedes probar a realizar por tu cuenta los siguientes retos.
Haz que la bola salga siempre hacia el lado del que ha metido el tanto o hacia un lado aleatorio.
Haz un menú en el que puedas seleccionar la velocidad de la pelota.
Añade sonidos y efectos al juego.
No olvides compartir con nosotros tus creaciones. También puedes seguirnos en Twitter para encontrar más bananas en @BananaCoders.
love it