Pong EV3

Pong thumbnailPong es uno de los primeros videojuegos de arcade y el primero deportivo de la historia. Es un juego de tenis de mesa con gráficos bidimensionales, y aunque otros como Computer Space llegaron antes que él, Pong fue uno de los primeros que llegó a ser popular entre las masas.

 

Allan Alcorn creó Pong como un ejercicio de entrenamiento que le asignó el cofundador de Atari Nolan Bushnell. Bushnell basó la idea en un juego electrónico de ping-pong incluido en la Magnavox Odyssey, por lo que más tarde sus creadores interpusieron una demanda contra Atari. Sorprendido por la calidad de la obra de Alcorn, Bushnell decidió fabricar el juego en 1972.

Este es el aspecto del videojuego

pong-time

Navegando por la red nos hemos encontrado con esta versión del juego creada por Dean Hystad para nuestros LEGO MINDSTORMS EV3, Pong EV3. En esta versión podremos jugar contra una pared, en vez de contra un contrincante automático controlado por la cpu, como si de un frontón se tratase. Para controlar la pala, conectaremos un motor L en el puerto C de nuestro robot, y al hacerlo girar, la pala se moverá arriba y abajo.

Este es el programa completo

Programa 1

Como se puede comprobar, y es habitual en los programas largos, está dividido en diferentes bloques personalizados MyBlock.

  • Bloque Start :

Prepara para comenzar un nuevo juego, está dividido en tres bloques MyBlock : Score, Paddle y Ball

Captura de pantalla 2017-05-18 a las 11.34.34

  •  Bloque Score :

Lleva el registro de la puntuación y la puntuación más alta, aquí tenéis el interior del bloque, y como se puede ver está compuesto de 4 modos :

1. “Add”

Captura de pantalla 2017-05-18 a las 11.39.02Aumenta la puntuación en 1 punto cada vez que es golpeada por la pala. Actualiza la visualización y la puntuación más alta.

2. “Reset”

Captura de pantalla 2017-05-18 a las 11.45.23

Este modo es el encargado de restablecer la puntuación a cero cuando acaba la partida.

3. “Display”

Captura de pantalla 2017-05-18 a las 11.49.44

Refleja en la pantalla la puntuación.

4. “HighScore” 

Captura de pantalla 2017-05-18 a las 11.49.56

Refleja en la pantalla la puntuación más alta.

  • Bloque Paddle :

Es el encargado de mover la pala, Aquí tenéis el interior del bloque, y como se puede ver está compuesto de 3 modos :

1. “Move”

Captura de pantalla 2017-05-18 a las 11.56.06

Este modo es el encargado de mover la pala, según cuanto gire el motor y para que sentido gire, la pala se moverá arriba o abajo. Los 20 píxeles inferiores de la pantalla son para la puntuación y como la paleta mide 20 píxeles de alto, y la pantalla tiene 127 píxeles de alto, el rango de movimiento de la paleta es de 0.87 píxeles.

2. “Reset”

Captura de pantalla 2017-05-18 a las 12.03.14

Este modo vuelve a poner la paleta en su posición inicial cuando acaba la partida.

3. “Get”

Captura de pantalla 2017-05-18 a las 12.13.31

Este es el caso por defecto del switch.

  • Bloque Ball :

Mantiene un registro de la posición y la velocidad de la bola y calcula sus movimientos. Aquí tenéis el interior del bloque, y como se puede ver está compuesto de 7 modos : 

1. “Set”

Captura de pantalla 2017-05-18 a las 12.22.46

Este modo dibuja la pelota en la nueva ubicación de entrada X Y. Devuelve la ubicación de la nueva pelota.

2. “Reset”

Captura de pantalla 2017-05-18 a las 12.27.12

Ajusta al azar la posición y la velocidad de la bola para un nuevo juego. Devuelve la posición inicial.

3. “Move”

Captura de pantalla 2017-05-18 a las 12.28.54

Devuelve la posición proyectada para la pelota.

4. “Get”

Captura de pantalla 2017-05-18 a las 12.30.53
Devuelve la posición actual de la pelota

5. “GetVel”

Captura de pantalla 2017-05-18 a las 12.32.24

Devuelve la velocidad de la pelota

6. “SetVel”

Captura de pantalla 2017-05-18 a las 12.33.24

Establece la velocidad de la pelota y su retorno.

7. “SpeedUp”

Captura de pantalla 2017-05-18 a las 12.35.12
Aumenta la velocidad de la pelota.

  • Bloque Strike :

Determina si la pala golpeó la bola o si la pelota salió fuera del area de juego.

Captura de pantalla 2017-05-18 a las 12.46.45

 

  • Bloque BounceXY :

 

Captura de pantalla 2017-05-18 a las 12.48.35

Controla el rebote de la pelota en las paredes o la pala. Cuando la pelota golpea una pared o la pala, la velocidad y el movimiento retroceden en la dirección perpendicular al golpe.

La pelota tiene 6 píxeles de diámetro y la pala mide 2 píxeles. Como la pantalla tiene 177 píxeles de ancho por 127 píxeles de alto, los 20 píxeles inferiores se utilizan para mostrar la puntuación y el área de juego es :

X 8..171, Y 6..101

Podéis ver el programa corriendo en el EV3 en esta imagen

Pongev3

Aquí os dejamos el programa por si os animais a problarlo

Pong.ev3

Esperamos que os haya gustado el post y si lleváis a cabo el programa o simplemente jugáis una partidita, os animamos a que nos lo comentéis por nuestras redes sociales.

¡A DISFRUTAR!

 

 

Comments are closed.