Memoria

En este proyecto, crearás un juego de memoria en el que tendrás que memorizar y repetir una secuencia de colores aleatorios.

Paso 1: Colores aleatorios

Primero, vamos a crear un personaje que puede cambiar a una secuencia aleatoria de colores para que el jugador los memorice.

Lista de actividades

Comience un nuevo proyecto Scratch, y elimine el sprite de gato para que su proyecto esté vacío. Usted puede encontrar el editor de Scratch en línea en jumpto.cc/scratch-new.

Elija un personaje y un fondo. Tu personaje no tiene que ser una persona, pero tiene que ser capaz de mostrar diferentes colores.

screenshot

En tu juego, usarás un número diferente para representar cada color:

1 = rojo;
2 = azul;
3 = verde;
4 = amarillo.

Dale a tu personaje 4 trajes de colores diferentes, uno para cada uno de los 4 colores de arriba. Asegúrese de que sus trajes de colores estén en el orden correcto.

screenshot

Para crear una secuencia aleatoria, debe crear una lista. Una lista es sólo una variable que almacena muchos datos en orden. Crear una nueva lista llamada secuencia sequence {.blockdata}. Como sólo tu personaje necesita ver la lista, también podemos hacer clic en ‘Sólo para este sprite’.

screenshot

Ahora deberías ver tu lista vacía en la parte superior izquierda de tu escenario, así como muchos bloques nuevos para usar listas.

screenshot

Añade este código a tu personaje, para añadir un número al azar a tu lista (y mostrar el disfraz correcto) 5 veces:

Observe que también ha vaciado la lista para empezar.

Desafío: Añadir sonido

Pruebe su proyecto varias veces. Usted puede notar que a veces el mismo número es escogido dos veces (o más) seguidas, haciendo que la secuencia sea más difícil de memorizar. ¿Puedes hacer sonar un tambor cada vez que el personaje cambia de disfraz?

¿Puede hacer una reproducción de sonido de batería diferente dependiendo del número aleatorio elegido? Esto será muy similar a tu código para cambiar el disfraz del personaje.

Paso 2: Repetir la secuencia

Vamos a añadir 4 botones, para que el jugador repita la secuencia que ha recordado.

Lista de actividades

Añade 4 sprites a tu proyecto, que se convertirán en botones. Edita tus 4 sprites, para que haya 1 para cada uno de los 4 colores.

screenshot

Cuando hagas clic en el tambor rojo, tendrás que enviar un mensaje a tu personaje, haciéndole saber que se ha hecho clic en el botón rojo. Añade este código a tu tambor rojo:

Cuando tu personaje reciba este mensaje, deberán comprobar si el número 1 está al principio de la lista (lo que significa que el rojo es el siguiente color de la secuencia). Si es así, puede eliminar el número de la lista, como se ha adivinado correctamente. De lo contrario, se acabó el juego.

También puede mostrar algunas luces parpadeantes una vez que la lista esté vacía, ya que significa que toda la secuencia se ha adivinado correctamente. Añade este código al final de tu personaje cuando la bandera haga clic en el script when flag clicked {.blockevents}:

Haz clic en tu escenario y añade este código para reproducir cualquier sonido y hacer que el fondo cambie de color una vez que el jugador haya ganado.

Desafío: Creación de 4 botones

Repita los pasos anteriores para los botones azul, verde y amarillo. ¿Qué código seguirá siendo el mismo y qué código cambiará para cada botón?

También puede añadir sonidos para cuando se pulsan los botones.

Recuerda probar el código que has añadido! ¿Puedes memorizar una secuencia de 5 colores? ¿Es la secuencia diferente cada vez?

Paso 3: Múltiples niveles

Hasta ahora, el jugador sólo tiene que recordar 5 colores. Vamos a mejorar tu juego, para que la duración de la secuencia aumente.

Lista de actividades

Cree una nueva variable llamada score {.blockdata}.

screenshot

Esta puntuación score {.blockdata} se utilizará para decidir la duración de la secuencia que el jugador debe memorizar. Por lo tanto, para comenzar con la puntuación (y la longitud de la secuencia) es 3. Añada este bloque de código al inicio de su personaje cuando haga clic en el código (when flag clicked){.blockevents} de la bandera:

En lugar de crear siempre una secuencia de 5 colores, ahora quiere que la puntuación score {.blockdata} determine la longitud de la secuencia. Cambie el bucle de repetición repeat {.blockcontrol} de su personaje (para crear la secuencia) a:

Si la secuencia se adivina correctamente, debe añadir 1 a la puntuación para aumentar la longitud de la secuencia.

Por último, es necesario añadir un bucle forever{.blockcontrol} permanente alrededor del código para generar la secuencia, de modo que se cree una nueva secuencia para cada nivel. Así es como debe verse el código de tu personaje:

Haz que tus amigos prueben tu juego. Recuerde ocultar la lista de la secuencia sequence {.blockdata} antes de que la reproduzcan!

Paso 4: Puntuación alta

Guardemos la puntuación más alta, para que puedas jugar contra tus amigos.

Lista de actividades

Añada 2 nuevas variables a su proyecto, llamadas high score {.blockdata} y name {.blockdata}.

Si alguna vez el juego termina (presionando el botón equivocado), usted necesita comprobar si la puntuación del jugador es más alta que la puntuación máxima actual. Si lo es, necesita guardar la puntuación como la puntuación más alta, y guardar el nombre del jugador. Así es como debería verse tu botón rojo:

Tendrás que añadir este nuevo código a los otros 3 botones también! ¿Ha notado que el código ‘Game over’ en cada uno de los 4 botones es exactamente el mismo?

screenshot

Si alguna vez necesitas cambiar algo de este código, como añadir un sonido o cambiar el mensaje «Game over», ¡tendrás que cambiarlo 4 veces! Eso podría ser molesto, y perder mucho tiempo.

En su lugar, puede definir sus propios bloques y reutilizarlos en su proyecto. Para ello, haga clic en más bloques more blocks {.blockmoreblocks} y, a continuación, en `Crear un bloque’. Llama a este nuevo bloque ‘Game over’.

screenshot

Añada el código del bloque else {.blockcontrol} del botón rojo al nuevo bloque que aparece:

screenshot

Ahora has creado una nueva función llamada Game over {.blockmoreblocks}, que puedes usar donde quieras. Arrastre su nuevo bloque Game over {.blockmoreblocks} sobre los 4 scripts de los botones.

screenshot

Ahora agregue un sonido para cuando se presione el botón equivocado. Sólo necesitas añadir este código una vez en el bloque Game over {.blockmoreblocks} que has hecho, y no 4 veces separadas!

screenshot

Desafío: Haciendo más bloques

¿Notas algún otro código que sea el mismo para los 4 botones?

screenshot

¿Puede hacer otro bloque personalizado, que es usado por cada botón?

Desafío: Otro disfraz

¿Has notado que tu juego comienza con tu personaje mostrando uno de los 4 colores, y que siempre muestran el último color de la secuencia mientras el jugador repite la secuencia?

¿Puedes añadir otro disfraz blanco a tu personaje, que se muestra al principio de la partida y cuando el jugador intenta copiar la secuencia?

screenshot

Desafío: Nivel de dificultad

¿Puede permitir que su reproductor elija entre el «modo fácil» (usando sólo los tambores rojo y azul) y el «modo normal» (que usa los 4 tambores)?

Incluso se puede añadir un modo «duro», que utiliza un 5º tambor!


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentarios recientes