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