In questo articolo realizziamo il gioco della morra cinese in JavaScript, utilizzando i costrutti finora studiati.
Il gioco ha poche semplicissime regole. Ci sono due giocatori che utilizzano le mani per sfidarsi. Ciascuno può giocare 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.
Le regole per vincere sono queste:
Il sasso batte la forbice, cioè la rompe;
La forbice batte la carta, cioè la taglia;
La carta batte il sasso, cioè lo avvolge.
Se entrambi i giocatori giocano a lo stesso simbolo si ha una situazione di parità.
Gioco della morra cinese in JavaScript – implementazione
Supponiamo di fare 3 partite e che vinca chi totalizza il punteggio maggiore.
Quindi impostiamo la variabile tentativi a 3. Dopo, all’interno del ciclo, facciamo generare al computer un numero random da 0 a 2 ad esempio.
Dopo, se esce 0 assegniamo alla variabile computer il valore f, se esce 1 assegniamo a computer il valore s, altrimenti se esce 2 assegniamo il valore c.
Poi facciamo scegliere una lettera al giocatore (f, s, c). Confrontiamo dunque se le 2 variabili sono uguali per confermare la situazione di parità. Se tale condizione non è vera analizziamo i casi di vittoria.
Il giocatore vince nei seguenti casi:
se giocatore= s e computer = f, oppure se giocatore= f e computer = c ed infine se giocatore= c e computer = s.
Se anche questa condizione è falsa allora il giocatore ha perso.
var tentativi = 3;
var giocatore, computer;
var puntiC = 0, puntiG = 0;
for (var i = 0; i < tentativi; i++){
computer = Math.floor(Math.random() * 3);
if (computer == 0) {
computer = 'f';
} else if (computer == 1){
computer = 's';
} else {
computer = 'c';
}
console.log(computer);
giocatore = prompt('Inserisci f per forbice, s per sasso e c per carta');
giocatore = giocatore.toLowerCase();
if (computer == giocatore) {
console.log('parità');
} else if ((giocatore == 's' && computer == 'f') || (giocatore == 'f' && computer == 'c') || (giocatore == 'c' && computer == 's')) {
console.log('Hai vinto');
puntiG++;
} else {
console.log('Hai perso ');
puntiC++;
}
}
console.log(puntiC);
console.log(puntiG);
In questa lezione abbiamo implementato il semplice gioco della morra cinese in JavaScript, nella prossima lezione vedremo tanti altri esempi.
Alcuni link utili
Introduzione al tutorial JavaScript
Come utilizzare JavaScript alert