Juego de Pong en Scratch (Parte 1)

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)
Programar Pong
Por lo que ahora tenemos algo como esto.

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?

Pong en Scratch
Esta forma es la más simple, pero no la mejor. La siguiente es mejor opción.
Para mi esta es al mejor forma de realizar los movimientos de la pala, ¿para ti?

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.

Pong en Scratch
Con esto empieza a moverse, además cada vez empieza apuntando hacia una dirección diferente (pero siempre a la derecha)

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.

Para hacer esto puede haber también muchas formas. ¿Se te ocurren otras?

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.

Y así quedaría uno de los objetos marcador.

¡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.

Un pensamiento en “Juego de Pong en Scratch (Parte 1)

Deja un comentario