En este tutorial de programación en Scratch aprenderemos a crear un juego similar a Pong, con la variante de 1 o 2 jugadores.
Pong es un videojuego de la primera generación de consolas, y fue lanzado en 1972. El juego simula un tablero de ping-pong y el jugador controlará una de las palas con las que deberá devolver la pelota al adversario. El fallo al devolver la pelota le dará 1 punto al adversario.
Cómo programar Pong para 1 jugador
Vamos a ver el tutorial de programación de Pong en Scratch para 1 jugador, paso a paso y con detalle:
1. Creación y configuración de los objetos y fondo
Lo primero que haremos será seleccionar el fondo y los objetos que vamos a necesitar. Como fondo hemos escogido stars, y los objetos serán ball y paddle. No te olvides de borrar al gato que aparece por defecto al crear un nuevo proyecto. La pantalla se verá así:
Parece que la pelota es demasiado grande en comparación con la paleta, por lo que vamos a reducir su tamaño a la mitad. Selecciona el objeto ball y cambia su tamaño de 100 a 50. Quedará de la siguiente forma:
Para terminar con la disposición de nuestros objetos, necesitamos mover la paleta hacia abajo, desde donde deberá moverse horizontalmente para devolver la pelota. Seleccionamos el objeto paddle y le cambiamos la posición a x = 0; y = -150. Deberá quedar tal que así:
2. Programación del paddle
Empezamos por el paddle, ya que es el más sencillo de programar. Lo único que necesitamos es que se mueva horizontalmente al realizar cierta acción, que puede ser darle a ciertos botones o que siga el puntero del ratón.
Nosotros en este caso vamos a hacer que el paddle se encuentre en la misma posición horizontal que el puntero del ratón. Para ello agregamos los siguientes bloques:
Con esto ya lo tendríamos configurado. El paddle siempre se moverá horizontalmente según nuestros movimientos con el ratón.
3. Programación de la pelota
Tras configurar la paleta, necesitamos que la pelota (objeto ball) se mueva y que rebote en ella y en las paredes del escenario cuando los toque.
Lo primero que vamos a hacer es darle movimiento a la pelota. Para ello la seleccionamos e introducimos los siguientes bloques:
Esto hará que al comenzar la partida, la pelota se sitúe en el centro y se dirija a una dirección aleatoria con una velocidad determinada (en este caso hemos escogido 5, pero podría ser otra).
Ya tenemos nuestra pelota en movimiento, pero vemos que no rebota contra las paredes ni contra la paleta. Pues vamos a hacer que rebote.
- Para que rebote contra las paredes, Scratch ya nos da un bloque predefinido, y lo único que tenemos que hacer es añadirlo después del bloque de movimiento. Tal que así:
- Para que rebote contra el paddle, tenemos que añadir un condicional al final de nuestro código. El razonamiento es: si la pelota toca la paleta, entonces cambia la dirección hacia arriba. El programa quedaría así:
4. Añadir puntuación y fin de partida
Ya que estamos devolviendo la pelota constantemente, queremos que el programa registre lo bien que lo estamos haciendo. Para ello, nos dirigimos a los bloques de «variables» y creamos una nueva, a la que llamaremos «Puntuación».
Para que nos sume los puntos, vamos a seleccionar el bloque «Sumar a…» y lo colocamos dentro del condicional. Así, cada vez que la pelota toque la paleta, nos sumará un punto:
Nos falta el último punto. ¿Qué pasa cuando no conseguimos darle a la pelota, y se nos cuela hacia abajo? Pues que la partida se debería terminar.
Para ello, añadimos un nuevo condicional, cuyo razonamiento es: si la pelota baja de determinado punto, entonces se nos comunica nuestra puntuación y la partida se acaba.
Lo añadimos al final del bucle y el programa quedará de la siguiente forma:
Ya hemos terminado la versión básica de Pong para 1 jugador. Ahora depende de ti añadirle o no más bloques para terminar de perfeccionar el juego. Por ejemplo, crea una variable con la velocidad a la que se mueve la pelota y ve incrementándola cada vez que la pelota toque el paddle, o añade sonidos al rebotar.
Cómo programar Pong para 2 jugadores
Como en el caso anterior, vamos a ver el tutorial de programación de Pong en Scratch para 2 jugador, paso a paso y con detalle.
Para la versión de dos jugadores, vamos a partir del programa que acabamos de hacer para 1 jugador y modificarlo ligeramente. A grandes rasgos, lo que hay que hacer es: crear y configurar un nuevo paddle y modificar el conteo de puntuaciones. Vamos a ello.
1. Añadir y configurar el paddle del jugador 2
Como hemos hecho en el tutorial anterior, añadimos el nuevo objeto paddle y configuramos su posición a x = 0; y = 150, para que aparezca en la parte superior. También puedes cambiar el color para diferenciarlo del jugador 1. Ve al apartado de Disfraces y ponle el color que más te guste.
Como con el caso del jugador 1, tenemos que programarlo. Esta vez haremos que se mueva horizontalmente al pulsar las flechas de dirección en nuestro teclado. Para ello programamos los siguientes bloques:
Y ya tenemos configurado el jugador 2. Para que el juego sea más justo, recomiendo modificar el jugador 1 para que se mueva también con las teclas del teclado (por ejemplo las letras «a» y «d»), ya que utilizando el ratón, el jugador 1 tendría ventaja.
2. Programación de los rebotes de la pelota
Para configurar la pelota es muy simple si partimos del programa de 1 jugador. Añadimos una nueva condición al bloque «Si…». Quedaría así:
Simplemente sería añadir el operador «O», para que rebote cuando toque al jugador 1 ó al jugador 2.
Como ves, hemos quitado todo lo referente a las puntuaciones, ya que ahora pasaremos a contar «goles» en lugar de «veces que hacemos rebotar la pelota». Lo vemos en el siguiente punto.
3. Programación de las puntuaciones y ganador
En nuestro caso buscaremos que cada vez que un jugador le marque un gol al contrario, se le sume un punto. El jugador que consiga 5 puntos será el ganador del partido.
Lo primero será crear una variable de puntuación para el jugador 2, como hemos visto en el punto 4 del tutorial anterior. Ahora ya tenemos la puntuación del jugador 1 y del jugador 2, y las iniciamos a 0 cada vez que se empiece una partida. Colocamos este trozo de código al principio del programa, dentro del objeto ball.
Ahora necesitamos que nos sume las puntuaciones a cada jugador siempre que marque un gol. Esto se puede hacer con la condición de que la pelota sobrepase cierta altura hacia arriba o hacia abajo. Es importante añadir también el comando para que la pelota vuelva al centro nada más marcar gol, y les damos tiempo a los jugadores para reposicionarse con el comando «Esperar … segundos». También es aconsejable añadir una redirección de la pelota, para darle más dinamismo al juego.
Posteriormente, tenemos que modificar el bloque «Por siempre», ya que queremos que nuestro juego termine cuando uno de los dos jugadores llegue a 5. Esto lo conseguimos con el bloque «Repetir hasta que», y le añadimos la condición de que alguna puntuación sea de 5. Esto quedaría todo integrado en nuestro código de la siguiente forma:
Lo único que nos queda ahora es anunciar el ganador que ha llegado a 5 puntos y detener el programa. Lo haremos con un nuevo bloque «Si-Sino». El razonamiento es este: si la puntuación del jugador 1 es 5, entonces él es el ganador, por lo que envía un mensaje declarándolo ganador; si no tiene 5, quiere decir que el ganador es el jugador 2, así que el mensaje es anunciando al jugador 2 como vencedor. Tenemos que añadir el siguiente conjunto de bloques al final de todo:
Ya hemos terminado la versión para 2 jugadores de Pong. Como te comentaba en la versión de 1 jugador, te aconsejo añadirle más bloques para terminar de perfeccionar el juego. Por ejemplo, crea una variable con la velocidad a la que se mueve la pelota y ve incrementándola cada vez que la pelota toque los paddles, o añade sonidos al rebotar.
Pruébalo
Desde nuestra sección de Juegos, puedes descargar este programa o probarlo online si lo prefieres. Puedes acceder pulsando en el siguiente botón.
Descarga los juegos
Espero que te haya gustado el tutorial. Ya sabes que puedes comentar con tus opiniones y enviarnos tus proyectos a través del formulario de contacto.

Tutorial de programación – PIANO
Leer Más

Tutorial de programación – LABERINTO
Leer Más

Tutorial de programación – PONG
Leer Más
Un comentario