📢 Nuovo Corso Laravel API disponibile!

Mazzo di Carte

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");