Bender.png

<aside> <img src="notion://custom_emoji/899aa73c-260f-813c-baa9-0003a270e9e6/29eaa73c-260f-8057-931f-007a0ac7402b" alt="notion://custom_emoji/899aa73c-260f-813c-baa9-0003a270e9e6/29eaa73c-260f-8057-931f-007a0ac7402b" width="40px" />

Indice

</aside>


<aside> 🧠

Cosa imparerai con questo esercizio

In questo esercizio implementeremo una versione semplificata del gioco del Blackjack (noto anche come 21) utilizzando i principi della Programmazione ad oggetti.

Approfondiremo inoltre alcuni importanti concetti della OOP:

<aside> 💡

Leggi il testo dell’esercizio, poi, prima di disperarti, torna qui e leggi la suddivisione nei vari livelli di competenza raggiungibili.

🏆 Livelli di Competenza

</aside>

Regole del gioco (semplificate)

Il Blackjack è un gioco d’azzardo di carte che si svolge tra il banco, rappresentato dal casinò, e i giocatori. Vincono i giocatori che realizzano un punteggio più alto del banco e non superiore a 21. In questo esercizio ne implementeremo una versione semplificata con solo il Banco e un giocatore.

Obiettivo

L’obiettivo del Blackjack è battere il Banco (chiamato Dealer). Si vince se si ottiene un punteggio più alto del Banco, senza mai superare 21.

Valore delle Carte

Svolgimento del gioco

  1. Setup: il TavoloBlackjack (il nostro motore di gioco) crea un mazzo standard di 52 carte e lo mescola.

  2. Distribuzione:

    1. Il Giocatore riceve due carte scoperte (es. 7 e Re).
    2. Il Banco riceve due carte (es. 9 e una carta coperta).
  3. Turno del Giocatore:

    1. Il Giocatore calcola il suo punteggio (nell'esempio: 7 + 10 = 17).
    2. Il Giocatore può scegliere:
      1. “Chiedi” (hit): riceve un’altra carta. Ricalcola il punteggio.
      2. “Stai” (stand): si ferma. Il suo turno finisce.
    3. Se in qualsiasi momento il Giocatore supera 21, ha “sballato” (bust) e perde immediatamente.
  4. Turno del Banco:

    Questa parte è algoritmica, il Banco non prende decisioni:

    1. Il Banco scopre la sua carta.
    2. Regola fissa: finché il punteggio del Banco è 16 o meno, DEVE pescare un’altra carta. Se il suo punteggio è 17 o più, DEVE fermarsi.
    3. Se il Banco supera 21, sballa e il Giocatore vince (purché non avesse sballato prima).
  5. Conclusione: se nessuno ha sballato, si confrontano i punteggi. Chi ha il punteggio più alto vince. Un pareggio è possibile.

Diagramma di flusso