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;

JavaScript base

Da zero ad eroe

Entra nel mondo della programmazione web: variabili, funzioni, array, DOM, eventi. Con esercizi pratici e progetti coinvolgenti.

  • 8 ore di corso registrato
  • Più di 50 algoritmi risolti passo passo
  • Livello base — da zero ad eroe
  • 100% online, fruibile quando vuoi

– 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.

Copertina: 50 Algoritmi per imparare JavaScript
📚 Consigliato per te

50 Algoritmi per imparare JavaScript

Una guida step by step per imparare JavaScript con esercizi svolti.

Vedi su Amazon

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

Indice tutorial JavaScript

Introduzione al tutorial JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Come utilizzare JavaScript confirm

Utilizzare JavaScript prompt

Variabili in JavaScript

JavaScript substring

🐍

Vuoi imparare Python da zero?

Scarica la guida gratuita Python in 10 giorni: 10 lezioni pratiche con esempi ed esercizi, direttamente nella tua email.

📥 Scarica gratis il PDF →