Español Valencià
Instruccions
🎴

Instruccions

FASE 3 - GUARDAR LES CARTES15' approx

👉
Aquesta pàgina conté les instruccions específiques de la Tercera Fase per desenvolupar el joc de Memory Card.

Un cop aconseguit el gir de la carta, podem continuar amb la funcionalitat. En el joc, quan aixecas dues cartes, és a dir, quan premes dues cartes, comprova si són parella o no. Si són parella, llavors les cartes es retiren, i si no són parella, es tornen a girar.

Comencem per saber quantes cartes hem premut. Això s'aconsegueix creant una nova variable des del bloc de Variables anomenada “CartesLlevades” o també canviant el nom, canviant el nom, a la variable que ja està creada per defecte.

image
image

Un cop creada la nova variable, podem començar a comptabilitzar les cartes girades. Afegim un bloc de Variables, “sumar a CartesLlevades 1”, que anirà augmentant el comptador de cartes llevades. Aquest bloc s'insereix a la pila de blocs de “en fer clic sobre aquest objecte”, ja que només volem que comptabilitzi les cartes quan aquestes siguin premudes.

image

Amb això, aconseguim l'acció de CartesLlevades + 1. Així, cada vegada que premem una carta, se sumarà 1 a  CartesLlevades.

Per a que la lògica del joc funcioni, necessitem que hi hagi dues cartes llevades, i després comprovar si aquestes dues cartes són iguals. Per això, necessitem crear dues noves variables que guardin el valor de la carta premuda.

Tenint això en compte, creem una nova variable. Anem als blocs de Variables i fem clic al botó de “Crear una variable”, aquesta nova variable es dirà “Carta1”. Seguint els mateixos passos, crearem la segona variable a la que anomenarem “Carta2”.

image
image
image

Una vegada creades totes dues variables, necessitem guardar el valor de la carta, a Carta1 o a Carta2. Per aconseguir-ho, crearem una altra variable més a la que anomenarem “ID”. Com que aquesta variable és única, ja que és la que s'encarrega d'identificar la carta, la crearem com “Només per a aquest objecte”.

image

En primer lloc, assignarem l'identificador a la carta**.** La primera carta tindrà com a identificador el número 1. Afegim un nou bloc de Variables “donar a ID el valor 1”, on ID és l'identificador i 1 és el valor que li volem donar.

image

Un cop fet això, toca assignar el ID a les variables Carta1 i Carta2. Això dependrà del valor de la variable CartesLlevades.

Si CartesLlevades és 0 significa que cap carta s'ha premut encara, si això es compleix, llavors el valor de ID se li hauria d'assignar a Carta1, ja que és la primera que s'ha premut.

Si CartesLlevades és 1, sabem que ja ha una carta girada, per tant aquesta nova carta es convertirà en la Carta2.

Per expressar-ho en el codi de Scratch, primer afegirem un bloc d'Operadors “_ = 50”, que s'encarregarà de comprovar que el valor de CartesLlevades és igual a 0. La variable s'afegeix, arrossegant-la des del bloc de Variables.

image

Faltaria dir que passa si es compleix o no la condició de “CartesLlevades = 0” . Per això anem als blocs de Control i afegim el bloc “si ____ llavors, si no ____”. Amb això diem que si el valor de CartesLlevades és igual a 0, llavors fem una cosa i si no fem una altra.

image

Si es compleix la condició que CartesLlevades sigui igual a 0, a CartesLlevades se li sumarà 1 i a Carta1 se li assignarà l'identificador de la carta, ID. Amb això en ment, podem moure el bloc de “sumar a CartesLlevades 1” dins del bloc de control “si”, i afegir un nou bloc de Variables “donar a Carta1 el valor de ID”. Per assignar-li el valor de ID, arrossegem la variable ****fins on està el número.

image

Si CartesLlevades no és igual a 0, ha de comprovar si CartesLlevades és igual a 1. En cas que es compleixi aquesta condició, a Carta2 se li haurà d'assignar el valor de ID. Per fer aquesta acció, afegirem un nou bloc de Control “si ____ llavors” dins de “si no”  i la condició de “CartesLlevades = 1”.

Per fer la condició de “CartesLlevades = 1”, podem duplicar la condició de “CartesLlevades = 0” i canviar el 0 pel 1, o ho podem crear des de zero com hem fet l'altra condició. El duplicar s'encarrega de fer una còpia exacta de la pila de blocs i et permet assignar-los directament a un altre lloc.

image
image

Un cop afegida la condició, faltaria dir que passa si la condició es compleix.

Si CartesLlevades és igual a 1 significa que ja hi ha una altra carta girada, a si que a Carta2 se li assignarà aquesta nova carta i com hi ha una nova carta girada, a CartesLlevades se li sumarà 1.

Podem duplicar els blocs de dins de “si CartesLlevades = 0 llavors” i després canviar la variable Carta1 per Carta2. També es pot tornar a crear els blocs.

image
image
image