IL BLACKJACK

·        ANALISI

Nel blackjack la strategia non ricopre un ruolo fondamentale bensì incide sicuramente di più la fortuna.

Le figure presenti nel BlackJack sono il mazziere (ruolo riservato al computer) ed il giocatore.

Il mazzo è composto da 52 Carte.

Il mazziere distribuisce le carte sul tavolo mettendole tutte scoperte lasciando coperta solamente la prima carta che serve a se stesso.

Lo scopo del gioco è quella di superare il valore della somma delle carte del mazziere ma senza superare il valore massimo di 21.

Ricordiamo che il mazziere è costretto a darsi le carte fino a quando non avrà superato il 16.

Un’altra cosa da prendere in considerazione è il fatto che l’asso nel BlackJack può assumere due valori, può assumere come valore 1 nel caso in cui la variabile relativa al punteggio è inferiore e non compreso a 11, mentre in caso contrario l’asso assumerà valore 11.

Questo controllo verrà gestito nella classe Gioco visto che è li che sono state implementate le variabili che svolgono la funzione di contatori.

 

 

Per realizzare nel miglior modo possibile il gioco ho deciso di scindere il programma in più classi ognuna con la relativa funzione.

 

Le classi che ho deciso di implementare sono 5.

 

-BlackJack, è la main class.

 

-Mazzo è la classe grazie alla quale, tramite una funzione random eseguita con un for che viene ripetuto per 1000 volte, mischiamo il mazzo di carte.

E da qui che inoltre, sempre con la funzione random, prendiamo una carta dal mazzo ogni volta che ci serve, mettendola in un vettore che conterrà le carte uscite in modo che la stessa carta non possa uscire per più di una volta.

 

-Carta stabilisce a quale immagine corrisponde il valore numerico che gli viene passato dalla funzione mazzo.daicarta().

 

-Gioco, questa classe contiene la funzione paint, grazie alla quale possiamo vedere ciò che vogliamo sullo schermo.

Sempre in questa classe poi viene gestita la disposizione a terra delle carte e di conseguenza e qui che gestiremo le due variabili dedicate al conteggio del punteggio relativo al mazziere e a quello del giocatore.

 

-Pannello Bottoni, questa classe serve per gestire i bottoni ovvero stabilire quali istruzioni dovrà eseguire ogni bottone premuto.

Per riconoscere quali bottoni sono stati premuti dovremmo implementare un Action Listener.

I bottoni sono contenuti all’interno di un JPanel ed i layout con il quale sono stati disposti e di tipo GridLayout.

 

Bottoni:

 

NUOVA PARTITA:

Ogni volta che premeremo il tasto Nuova Partita le carte sul tavolo dovranno essere tolte, saranno resettate le variabili relative ai punteggi e i vettori che gestiscono le uscite delle carte, verrà richiamata la funzione che mischia il mazzo ed infine i bottoni andranno tutti disattivati e verrà abilitato solo il tasto dai carte.

 

DAI CARTE:

Dai Carte metterà le prime 4 carte a terra dando le carte prima una al mazziere e poi una al giocatore per poi eseguire nuovamente le stesse istruzione con la differenza che quest’ultima volta la carta servita al mazziere sarà scoperta.

Infine attiverà i bottoni Carta, Stai e Double.

 

CARTA:

Carta aggiungerà ogni volta che sarà premuto una carta al giocatore fino a quando il punteggio del giocatore sarà maggiore o uguale a 21. 

 

STAI:

Stai dal momento in cui esso verrà premuto non sarà più possibile per il giocatore chiedere carte dal momento che la prima operazione che Stai farà sarà quella di disattivare il bottone Carta. Pertanto premendo Stai si passa la giocata al computer che continuerà a darsi le carte fino a quando la sua variabile relativa al conteggio delle carte non sarà superiore a 16.

 

DOUBLE:

Premendo il tasto Double il giocatore chiederà una sola carta e raddoppierà la sua puntata.