Sección 1.3

Mi primer juego

Vamos a crear una versión de un jugador del juego retro Pong, en el que el jugador mueve horizontalmente una pala para evitar que una pelota (que rebota en las paredes y el techo) toque el suelo.

.
.

Todos los conceptos nuevos que vamos a utilizar en esta sección serán explicados con más detalle en las siguientes secciones. El objetivo ahora es hacernos una idea de qué es lo que podemos hacer con Scratch y lo fácil que resulta.

Para crear la aplicación comenzamos un nuevo proyecto vacío. Selecciona la opción Nuevo del menú Archivo. Todo proyecto comienza con un objeto, el gato de Scratch. Como en nuestra aplicación no lo vamos a utilizar, puedes eliminarlo pulsando con el botón derecho sobre él y seleccionando borrar (cuando se borra un objeto se elimina también toda la información que tenga asociada, incluyendo sus programas).

Creación del escenario

Primero vamos a crear el escenario. Para detectar que la pelota toca el suelo vamos a pintar de un color concreto la parte inferior del escenario.

Selecciona el Escenario en la zona de objetos y selecciona la pestaña Fondos. En un proyecto vacío el escenario tiene un único fondo, fondo1. En general se pueden tener varios fondos. Aparece un editor gráfico sencillo con el que podemos crear el escenario.

.
.

Vamos a pintar un rectángulo relleno en la parte inferior, de color marrón, por ejemplo, para representar el suelo. Ese color se utilizará después para detectar el suelo, pero no te preocupes no tienes que recordarlo. Puedes pintar también el resto del escenario, por ejemplo con un degradado azul.

Añadir la pala y la pelota

Lo siguiente es añadir los objetos que formarán parte del juego, la pala y la pelota. En la zona de objetos coloca el ratón sobre Elige un objeto y luego pincha sobre Pinta (el pincel). Se crea un objeto llamado Objeto1. En la información asociada al objeto podemos cambiarle el nombre, por ejemplo a Pala. Y en la pestaña de disfraces podemos pintar una pala sencilla con un rectángulo. Conviene centrar la figura en el área de dibujo; los movimientos del objeto dependerán de cómo esté la figura centrada.

.
.

Cuando el objeto pala aparece en el escenario, puedes arrastrarlo a su posición inicial. En ejecución, el jugador moverá la pala horizontalmente, con el ratón, pero la altura (coordenada y) permanecerá fija. Podemos colocar ahora la pala en el escenario en la posición vertical en la que se mantendrá (por ejemplo y = -120). Aunque nos aseguraremos que el programa también establezca esa posición inicial.

Para añadir la pelota vamos a seleccionar un objeto de la biblioteca de Scratch (hay muchos objetos ya creados). En la zona de objetos pincha sobre Elige un objeto. En la ventana que se abre selecciona el tema Deportes y elige una pelota, por ejemplo la de tenis. Al hacer clic sobre ella el objeto será añadido a la aplicación. Puedes cambiarle el nombre si quieres.

Conviene ir guardando la aplicación en el disco, para no perderla. Utiliza la opción Guardar en tu ordenador del menú Archivo. Los ficheros de Scratch tienen extensión sb3.

Si estás utilizando Scratch con una cuenta, es decir, te has registrado con un usuario y contraseña, entonces también puedes guardar tu proyecto en tu cuenta, asociándole un nombre.

Hacer que los objetos se muevan

Los programas pueden empezar a ejecutarse por diferentes motivos o eventos, pero suele ser habitual que una aplicación de Scratch comience cuando se pulsa la bandera verde.

Para construir el programa que controlará el comportamiento de la pala, selecciona este objeto y la pestaña Código. Tenemos que construir el siguiente programa:

.
.

En la paleta Eventos selecciona el bloque al hacer clic en bandera verde y arrástralo al área de programas. Los bloques ir a x:_ y:_ y dar a x el valor_ aparecen en la paleta Movimiento y el bloque por siempre en la paleta Control (recuerda que el color de los bloques puede ayudarte a recordar dónde están).

La posición inicial de la pala es x = 0, centrada horizontalmente en el escenario, e y = -120, colocada en la zona inferior por encima del suelo. Puedes escribir estos números en las celdas correspondientes del bloque. Después la pala se dedicará a seguir al ratón, pero solamente en horizonal. Para eso utilizamos una combinación del bloque por siempre que va a repetirse indefinidamente, y el bloque que fija la coordenada x de la pala a la coordenada x del ratón. El bloque posición x del ratón no es de ejecución, sino que representa un valor. Puedes encontrarlo en la paleta Sensores. Arrástralo al hueco del bloque dar a x el valor_.

Ejecuta la aplicación pulsando la bandera verde y observa cómo la pala sigue al ratón cuando lo mueves a izquierda y derecha dentro del escenario.

La aplicación se puede parar con la señal de stop.

El programa que controla el comportamiento de la Pelota es algo más complicado. La Pelota también comienza a moverse cuando se pulsa la bandera verde, pero comienza en una posición alta del escenario, y moviéndose hacia abajo. Para eso vamos a fijar la dirección de la bola, eligiendo de forma aleatoria un ángulo entre 135 y 225 (la dirección con ángulo 0 apunta hacia el norte y después los ángulos crecen hasta 360 en sentido horario). Después se moverá en esa dirección con movimientos de 12 pasos comprobando si toca alguna pared del escenario, en cuyo caso rebotará. El programa, aún no completo, es el siguiente:

.
.

Ejecuta la aplicación para ver cómo la pelota se mueve libremente por el escenario, rebotando en las paredes. Modifica el valor 12 (puedes hacerlo sin parar la aplicación) para ver cómo afecta eso al comportamiento de la bola.

Evidentemente, aún no ocurre nada cuando la pala toca a la pelota, o cuando la pelota toca el suelo, porque no hemos hecho nada en el programa para tratar estas situaciones. Es lo siguiente.

Para cambiar la dirección de la pelota si toca la pala vamos a utilizar un bloque condicional si/entonces. Este bloque comprueba si se cumple cierta condición y si es así, ejecuta los bloques que contiene. La condición ¿tocando_? se encuentra en la paleta Sensores. En el desplegable de ese bloque se puede seleccionar el objeto Pala. Podemos hacer también que suene un pop con el bloque tocar sonido_.

.
.

Lo único que nos falta es detectar si la pelota ha tocado el suelo para terminar la aplicación. Para ello utilizaremos de nuevo el condicional si/entonces pero utilizando ahora como condición el bloque de la paleta Sensores ¿tocando el color_?. Puedes elegir el color concreto pinchando en el recuadro del color en el bloque y después pinchando el icono que nos permite seleccionar un color del escenario (en este caso, el color con el que hayamos pintado el suelo).

.
.

Si se cumple la condición paramos la ejecución con el bloque detener_. El programa completo de la Pelota es el siguiente:

.
.

Y ya tenemos nuestro primer juego completo. ¿Has visto qué sencillo es programar con Scratch?