jueves, octubre 24, 2019

Tutorial de un juego sencillo en Scratch


Esta mañana hemos realizado una sesión en Scratch con los niños de 6º curso del Colegio Los Molinos de Calasparra, en el que María Jesús es la directora.

Durante la sesión hemos creado un juego sencillo en Scratch en el que Homer Simpson tiene que comerse las rosquillas que caen desde el cielo. Hemos usado las siguientes imágenes:

La mecánica del juego es muy sencilla: movemos a Homer a derecha e izquierda con las flechas del teclado para que atrape las rosquillas antes de que salgan de la pantalla.

Aunque el juego es sencillo nos permite introducir conceptos de programación importantes y algunos, hasta cierto punto avanzados:
  • La modificación del tamaño inicial de los objetos.
  • Sonidos. Scratch cuenta con una galería de sonidos y además podemos subir más. Para añadir un sonido a un proyecto solo tenemos que hacer clic en la pestaña "Sonidos" y después en el botón que aparece en la parte inferior izquierda de la pantalla (ver siguiente imagen) y hacemos clic sobre el que nos guste para seleccionarlo.
  • Las coordenadas X e Y que marcan las posiciones de los objetos en la pantalla de Scratch. A diferencia de lo que es habitual en otros lenguajes de programación, en Scratch el origen de coordenadas está en el centro de la pantalla y las coordenadas Y decrecen hacia abajo.
  • Uso de números aleatorios para colocar la rosquilla cada vez en una posición diferente "a voleo". 
  • El uso de variables para controlar la velocidad de movimiento y la puntuación que consigue el jugador. Junto a cada variable nos aparecerá una casilla para marcar si queremos ver su valor en la pantalla del juego.
  • El envío de mensajes entre objetos para que las condiciones o la posición de uno de ellos influya en el comportamiento del otro
Ahora vamos a ver paso a paso el código que introducimos en cada uno de los objetos
Homer
Antes de empezar con el código reducimos el tamaño de la imagen al 50%. Aquí vamos a hacer que se mueva a izquierda y derecha cada vez que pulsemos la tecla correspondiente. Existen múltiples formas de mover los objetos en Scratch, pero para familiarizar a nuestros alumnos con las coordenadas hemos elegido cambiar los valores de X para mover al objeto. Para movernos hacia la izquierda tenemos que añadir un bloque desde el grupo de "Eventos" y otro desde "Movimiento".
Para movernos a la derecha tenemos que introducir dos bloques muy similares, solo cambiamos "al presionar tecla flecha derecha" y el valor a sumar que será 10, en vez de -10.
Para mejorar el juego también vamos a introducir un bloque para que Homer "mire" hacia la dirección en la que nos movemos. Para eso tenemos que apuntar en la dirección correspondiente. Inicialmente, los objetos de Scratch "giran" pero no se "reflejan". Si giramos a Homer, quedará como en la siguiente imagen:

Tenemos un bloque de código en el grupo de Movimiento, para cambiar este comportamiento y que la imagen quede reflejada:
Además también queremos que al empezar el juego, Homer esté situado en la parte central inferior de la pantalla. Por eso añadimos los siguientes bloques de código:
En los bloques del movimiento a derecha e izquierda, añadimos los bloques para que apunte en la dirección correcta:
Rosquilla
La mayor parte del código de nuestro juego está en la rosquilla. Vamos a ver una primera versión más sencilla en la que las rosquillas siempre caen a la misma velocidad y después haremos una mejora para añadir "niveles" al juego y que la dificultad se incremente al conseguir más puntos.
Veamos cada uno de los bloques que hemos añadido a la rosquilla:
  1. Con este bloque hacemos que la rosquilla aparezca en una posición horizontal aleatoria en la parte superior de la pantalla. Usamos un bloque de Movimiento (azul) para colocar la rosquilla y un bloque de operadores (verde) que nos devuelve un número aleatorio para que no salga siempre en la misma posición. Este número al azar estará entre -230 y 230.
  2. Hemos colocado un bloque "por siempre" para simplificar, pero habría sido más correcto colocar un bloque "Repetir hasta que" la rosquilla llegue a la parte de abajo de la pantalla y se le escape a Homer.
  3. Para que la rosquilla caiga por la pantalla, le sumamos -3 a la posición Y. Si queremos ponerlo más difícil, podemos probar con -5 o -10.
  4. Cada vez que movemos la rosquilla, comprobamos si toca a Homer. 
  5. Si Homer toca a la rosquilla, reproducimos un sonido de un bocado que está en la galería de Sonidos de Scratch.
  6. Una vez que "se ha comido" la rosquilla, la colocamos otra vez arriba para recomenzar el juego.
  7. En este bloque comprobamos si la rosquilla ha llegado hasta el suelo, es decir si la la posición Y de la rosquilla es menor de -170. Si es así, envíamos un mensaje "gameover". Después en el objeto con el texto "Game over", haremos que se muestre al recibirlo.
En la imagen siguiente puedes ver el código "vitaminado":
  1. Creamos una variable llamada velocidad y le damos el valor inicial -3
  2. Añadimos otra variable llamada puntos con valor inicial 0.
  3. Ahora a la posición Y de la rosquilla le sumamos el valor de "velocidad".
  4. Cada vez que Homer se come una rosquilla, incrementamos la variable "puntos"
  5. Si la variable puntos tiene un valor 5, hacemos que la velocidad sea más negativa y caiga más rápido la rosquilla.
Game Over
Para el objeto Game Over hemos elegido la opción de "dibujar" el objeto y hemos añadido un cuadro de texto:
Después a ese objeto le hemos añadido los siguientes bloques de código:
Lo que hacemos es ocultarlo al empezar el juego y mostrarlo cuando recibe el mensaje "gameover" que se envía desde la rosquilla.

Hemos compartido el proyecto por lo que puedes verlo y modificarlo a tu gusto en el siguiente enlace: https://scratch.mit.edu/projects/338953599/ 

Déjanos tus dudas, si es que las tienes, en los comentarios. Esperamos publicar próximamente más tutoriales de este tipo

No hay comentarios:

Publicar un comentario