Juego de Pong en Scratch (Parte 2)

Introducción

Esta es la Parte 2 para seguir mejorando el juego del Pong que ya hemos realizado en la Parte 1. En la primera parte programamos la pelota, las palas y el marcador. Aunque se puede jugar, de momento no es el mejor juego del mundo. Vamos a mejorar este juego, para seguir este tutorial necesitarás cierta experiencia con Scratch. En este tutorial nos basaremos en la mejora de jugabilidad.

Deberías saber

Para poder aprovechar este tutorial deberías saber trabajar perfectamente con las siguientes elementos de Scratch:

  • Variables
  • Mensajes
  • Sensores
  • Más bloques (el apartado de creación de bloques)
  • Todo lo hecho en la parte 1

Objetivos

  • Mejorar la jugabilidad de la Parte 1 del Pong.
  • Utilizar variables para modificar la dificultad de juego.
  • Variar el movimiento de un objeto en función de parámetros de otro.

Menú para seleccionar entre 4 niveles diferentes en el Pong

En nuestro Pong queremos que todo el mundo pueda jugar. Lo primero que haremos será dar la opción de 4 niveles diferentes. Dependiendo de cada nivel la pelota se moverá más o menos rápido.

Empecemos. Al presionar la bandera verde todo lo que tenemos se esconderá, y esperará a recibir un mensaje de inicio para mostrarse. Ese mensaje de inicio se enviará en el momento que seleccionemos la dificultad. Puedes ver un ejemplo de cómo funcionaría en una de las palas.

Pong ScratchAhora creamos 4 objetos, que corresponderán con a los 4 niveles. Mostraremos estos 4 objetos al presionar la bandera verde. Y al hacer clic en ellos deben fijar una variable de velocidad a lo que corresponda, y enviarán un mensaje Juego para que el resto de objetos se muestren o escondan según corresponda.

Ahora solo tendremos que sustituir el número de pasos que movíamos en la pelota por la variable Velocidad. Más adelante podrás ver un ejemplo de los valores que yo he escogido.

Atención

  • Ahora hay que comprobar que todo funcione. Puede que si movemos muchos pasos la pelota se «salte» las palas. Para ello podemos ensancharlas un poco y/o separarlas un poco del borde.
  • De momento el juego puede parecer muy complicado en nivel extremo, pero lo solucionaremos en el siguiente punto.

Mejorar la salida de la bola

Para nuestro Pong lo ideal es que, sobre todo para los niveles difíciles, la bola primero nos indique hacia donde saldrá, ya que si no será imposible. Para eso mi idea es que los primeros pasos que dé la pelota los dé más despacio. Pero antes de nada, con el fin de ahorrar código, crearemos un bloque de «Salida» para ponerlo cada vez que la pelota tenga que ir al medio y salir. En este bloque Salida la pelota se coloca en el medio, espera un segundo y sale al azar o bien a la izquierda o bien hacia la derecha. Después durante unas pocas repeticiones se moverá la mitad de rápido para facilitar al primer receptor las cosas.

Deberemos colocar el nuevo bloque de Salida al comienzo del juego (al recibir el mensaje)  y también después de que la pelota toque uno de los dos bordes.

Mejorar el movimiento de las palas

Programar ScratchHasta ahora las palas siempre se mueven a la misma velocidad, pero podemos hacer que la pala se mueva más rápido o más lento en función de la dificultad. Creemos una variable de Velocidad de la pala. Y la pala cuando cambia y lo hará la cantidad de pasos correspondientes a la variable de su velocidad. ¿Jaleo? En la imagen verás que no tanto.

Valores para las variables

Los valores que otorguemos a las dos variables serán los que nos ofrezcan una buena jugabilidad. Cada un puede probar a poner los que quiera. Yo os pongo unos que me parecen adecuados:

  • Pelota
    • Fácil: 6
    • Medio: 6
    • Difícil: 10
    • Extremo: 12
  • Palas
    • Fácil: 4
    • Medio: 6
    • Difícil: 8
    • Extremo: 9

Solucionar un último problema

Ya casi está. Pero si la bola saliera en dirección 90º, ¿qué pasaría? La bola se quedaría rebotando sin ninguna dificultad en horizontal. Hay muchas formas de solucionarlo, en la parte 3 veremos cómo hacerlo realmente bien, pero de momento lo haremos de una forma fácil. Tras el rebote con la pala añadiremos un pequeño giro a la pelota, este giro hará que la pelota no tome siempre una dirección igual puesto que lo haremos con cierta aleatoriedad. Aun así mantendremos prácticamente la misma dirección, el jugador contrario podrá tener una noción de hacia dónde saldrá la bola.

Programar Scratch Pong

Con esto deberíamos tener un buen juego de Pong. Nos faltaría retocar aspectos de jugabilidad, para adaptarlo a nuestro gusto. Lo tenemos fácil modificando las variables de velocidad.

En Bananacoders podrás encontrar la parte 3 de este proyecto, en esa parte añadiremos detalles de apariencia al proyecto y el modo un jugador, pero puedes probar a realizar por tu cuenta los siguientes retos.

 Haz que la bola vaya aumentando de velocidad en el transcurso del punto.

Crea algún potenciador/power-up que se pueda conseguir durante la partida.

 Reto loco: ¿Y que cada jugador tenga 2 palas? Una arriba y otra a un lado. Atención, que el rebote no se programa igual.

No olvides compartir con nosotros tus creaciones. También puedes seguirnos en Twitter para encontrar más bananas en @BananaCoders.

Deja un comentario