Español Valencià
Instrucciones
🎴

Instrucciones

FASE 3 - GUARDAR LAS CARTAS ⏰ 15' approx

👉
Esta página contiene las instrucciones específicas de la Tercera Fase para desarrollar el juego de Memory Card.

Una vez conseguido el volteo de la carta, podemos seguir con la funcionalidad. En el juego cuando levantas dos cartas, es decir, cuando pulsas dos cartas comprueba si son pareja o no. Si son pareja entonces las cartas se retiran y si no son pareja se vuelven a girar.

Vamos a empezar por saber cuántas cartas llevamos pulsadas. Esto se consigue creando una nueva variable desde el bloque de Variables llamada “CartasLevantadas” o también renombrando, cambiando el nombre, a la variable que ya esta creada por defecto.

image
image

Cuando hayamos creado la nueva variable, podemos empezar a contabilizar las cartas giradas. Añadimos un bloque de Variables, “sumar a CartasLevantadas 1”, que irá aumentando el contador de cartas levantadas. Este bloque se inserta en la pila de bloques de “al hacer clic sobre este objeto”, ya que solo queremos que contabilice las cartas cuando estas son pulsadas.

image

Con esto, conseguimos la acción de CartasLevantadas + 1. Así, cada vez que pulsemos una carta se sumará 1 a  CartasLevantadas.

Para que la lógica del juego, necesitamos que haya dos cartas levantadas, y después se compruebe si esas dos cartas son la misma. Para esto, necesitamos crear dos nuevas variables que se guarden el valor de la carta pulsada.

Teniendo esto en cuenta, creamos una nueva variable. Nos vamos a los bloques de Variables y le damos al botón de “Crear una variable”, esta nueva variable se llamará “Carta1”. Siguiendo los mismos pasos crearemos la segunda variable a la que llamaremos “Carta2”.

image
image
image

Una vez creadas ambas variables, necesitamos guardar el valor de la carta, en Carta1 o en Carta2. Para conseguirlo crearemos otra variable más a la que llamaremos “ID”. Como esta variable es única, ya que es la que se encarga de identificar la carta, la crearemos como “Sólo para este objeto”.

image

En primer lugar, vamos a asignar el identificador a la carta. La primera carta tendrá como identificador el número 1. Añadimos un nuevo bloque de Variables “dar a ID el valor 1”, donde ID es el identificador y 1 es el el valor que le queremos dar.

image

Una vez hecho esto, toca asignar el ID a las variables Carta1 y Carta2. Esto dependerá del valor de la variable CartasLevantadas.

Si CartasLevantadas es 0 significa que ninguna carta se ha pulsado todavía, si esto se cumple, entonces el valor de ID se le debería de asignar a Carta1, ya que es la primera que se ha pulsado.

Si CartasLevantadas es 1, sabemos que ya ha una carta girada, por lo tanto esta nueva carta se convertirá en la Carta2.

Para expresar esto en el código de Scratch, primero añadiremos un bloque de Operadores “_ = 50”, que se encarguará de comprobar que el valor de CartasLevantadas es igual a 0. La variable se añade, arrastrandola desde el bloque de Variables.

image

Faltaría decir que pasa si se cumple o no la condición de “CartasLevantas = 0” . Para eso nos vamos a los bloques de Control y añadiremos el bloque “si ____ entonces, si no ____”. Con esto decimos que si el valor de CartasLevantadas es igual a 0, entonces hacemos una cosa y si no hacemos otra.

image

Si se cumple la condición de que CartasLevantadas sea igual a 0, a CartasLevantadas se le sumará 1 y a Carta1 se le asignará el identificador de la carta, ID. Con esto en mente, podemos mover el bloque de “sumar a CartasLevantadas 1” dentro del bloque de control “si”, y añadir un nuevo bloque de Variables “dar a Carta1 el valor de ID”. Para asignarle el valor de ID, arrastramos la variable hasta donde está el número.

image

Si CartasLeventandas no es igual a 0, tiene que comprobar si CartasLeventandas es igual a 1. En caso de que se cumpla esta condición, a Carta2 se le debe asignar el valor de ID. Para realizar esta acción, añadiremos un nuevo bloque de Control “si ____ entonces” dentro de “si no”  y la condición de “CartasLeventandas = 1”.

Para hacer la condición de “CartasLeventandas = 1”, podemos duplicar la condición de “CartasLeventandas = 0” y cambiar el 0 por el 1, o lo podemos crear desde cero como hemos hecho la otra condición. El duplicar se encarga de hacer una copia exacta de la pila de bloques y te permite asignarlos directamente a otro sitio.

image
image

Una vez añadida la condición, faltaría decir que pasa si la condición se cumple.

Si CartasLevantadas es igual a 1 significa que ya hay otra carta girada, a si que ha Carta2 se le asignará esta nueva carta y como hay una nueva carta girada, a CartasLevantadas se le sumará 1.

Podemos duplicar los bloques de dentro de “si CartasLevantadas = 0 entonces” y luego cambiar la variable Carta1 por Carta2. También se puede volver a crear los bloques.

image
image
image