🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Mazzo di Carte

Codegrind Team•Jul 21 2022

Traccia

Utilizzando la programmazione ad oggetti create una classe per il mazzo e tutti i metodi necessari per mischiarlo, pescare e rimettere una carta in fondo. Limitatevi all’inizio ad avere 13 carte, quindi dall’asso al re.

Utilizzate dei console log per mandare a schermo la situazione del mazzo ad ogni operazione nonché le carte che pescate e rimettete nel mazzo.

Se il risultato è corretto, ogni soluzione è valida.

Soluzione

Pagina HTML

<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script src="script.js"></script>
  </body>
</html>

Pagina Script.js

Class Deck

class Deck {
  constructor() {
    this.carte = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "fante", "donna", "re"];
    console.log("genero nuovo mazzo", this.carte);
  }

  mischia() {
    this.carte.sort((a, b) => 0.5 - Math.random());
    console.log("mazzo mischiato", this.carte);
  }

  pesca() {
    // const carta = this.carte.shift(); -> logica inversa
    const carta = this.carte.pop();
    console.log("carta pescata", carta);
    console.log("mazzo dopo la pescate", this.carte);
  }
  mettiSotto(carta) {
    // this.carte.push(carta); -> logica inversa
    this.carte.unshift(carta);
    console.log("mazzo dopo metti sotto", this.carte);
  }
}

Generazione deck e utilizzo meccaniche di gioco

const deck = new Deck();
deck.mischia();
deck.pesca();
deck.mettiSotto("jolly");