In questa lezione proponiamo il gioco della morra cinese con Scratch 3.
Come si gioca a morra cinese?
Gli strumenti utilizzati sono le mani dei giocatori e ciascun giocatore può scegliere un oggetto: forbice (f), sasso (s) o carta (c).
– Il Sasso, si rappresenta con la mano a pugno;
– La Carta, si rappresenta con la mano aperta;
– Le Forbici, si rappresentano con soli indice e medio distesi.
Se si gioca lo stesso simbolo si è in parità, altrimenti:
Il sasso batte la forbice, cioè la rompe;
La forbice batte la carta, cioè la taglia;
La carta batte il sasso, cioè lo avvolge.
Esempio del gioco della morra cinese con Scratch 3
Procedimento del gioco della Morra Cinese
Innanzitutto scegliamo uno sfondo ed uno sprite a piacere.
Dopo creiamo le variabili necessarie, in questo caso i due giocatori: computer e utente.
Quindi generiamo un numero a caso e lo memorizziamo nella variabile computer.
Dopo chiediamo all’utente per semplicità di inserire una lettera: s per sasso, f per forbice e c per carta. Quindi salviamo il carattere immesso da tastiera nella variabile utente.
Dopo con l’istruzione se allora altrimenti verifichiamo queste condizioni:
Se il computer ha generato 1 allora alla variabile computer assegniamo la lettera s.
Altrimenti se il computer ha generato 2 allora alla variabile computer assegniamo la lettera c.
Altrimenti alla variabile computer assegniamo la lettera f.
Questo passaggio è fondamentale per semplificare poi i confronti che faremo più avanti.
Adesso non ci resta che impostare le regole del gioco.
Quindi se computer = utente allora si ha la parità in quanto entrambi hanno giocato la stessa cosa.
L’utente vince in questi casi:
se utente= s e computer = f oppure
invece se utente= f e computer = c oppure
infine se utente= c e computer = s
Altrimenti vince il computer.
Ecco dunque il codice completo:
Provate a giocare più partite creando un ciclo che si ripete tante volte quante le partite desiderate. Per chi non sa usare anche i cicli si rimanda alla lezione successiva sui cicli.
Alcuni link utili
Massimo fra tre numeri in Scratch
Minimo tra 3 numeri in Scratch
Esempio di successione di Fibonacci con Algobuild
La successione di Fibonacci in C++