|
1. Il Gioco
In questo capitolo vi è una spiegazione di come funziona il gioco della dama italiana e delle regole che devono essere rispettate e sono sono state utilizzate per l'implementazione. In Sezione 1.2 sono spiegate le convenzioni utilizzate per realizzare il gioco ed in Sezione 1.3 viene illustrato come funziona il gioco. 1.1 Regole del gioco Come preannunciato, il progetto è stato realizzato utilizzando le regole della dama italiana reperibili nel sito della Federazione Italiana Dama [2].Di seguito è riportata una breve spiegazione del gioco della dama nella versione italiana e di tutte le regole che devono essere applicate. La damiera si compone di 64 caselle alternate per colore, bianche e nere, e va posizionata con l'ultima casella in basso a destra di colore nero.
Il giocatore che deve eseguire la prima mossa per convenzione è sempre quello che utilizza le pedine nere. Inoltre, ogni giocatore non ha un tempo fissato entro il quale deve rispondere. In realtà, nel realizzare il giocatore artificiale si è cercato di imporre un limite temporale arbitrario, entro il quale dare una risposta, per non richiedere attese troppo lunghe.
1.2 ConvenzioniOgni casella della damiera è individuata attraverso due coordinate che ne indicano rispettivamente la riga e la colonna di appartenenza. Tale coordinate sono state assegnate immaginando di posizionare la damiera nel quarto quadrante di un diagramma cartesiano, con l'angolo in alto a sinistra coincidente con l'origine degli assi. In Figura si può vedere uno screen-shot della damiera del gioco; in ogni cassella è indicato il valore delle coordinate.
Dalla Figura 1.1 si può anche osservare come sono posizionate le pedine sulla damiera: nella parte inferiore si trovano le dodici pedine del giocatore nero, mentre nella parte superiore quelle del giocatore bianco. Pertanto il giocatore nero si muove verso valori decrescenti, lungo l'asse delle y, mentre il giocatore bianco, percorrendo il verso opposto, si muove verso valori crescenti. Una mossa è uno spostamento di un pezzo da una casella ad un'altra della damiera, eseguito in un solo turno. Vi sono tre tipi di mosse possibili.
Ogni mossa che viene eseguita da un giocatore è della forma:
ove con la coppia (x0,y0) si indicano le coordinate x ed y di partenza, ossia la posizione all'interno della damiera della pedina che si è deciso di muovere, le altre coppie (xj,yj) indicano le coordinate della casella j_esima che si attraversa nella sequenza della mossa e (xn,yn) la casella di arrivo, ove termina la mossa e si ferma la pedina.
1.3 Funzionalità del giocoIl gioco è stato realizzato con una Applet implementata utilizzando Java 1.5. Quando si avvia il gioco, appare come prima schermata la damiera con le pedine posizionate nella configurazione iniziale del gioco, come mostrato in Figura 1.2.
Al centro della damiera, una scritta indica che per iniziare il gioco è necessario premere il bottone New Game posizionato sopra la damiera a sinistra. Accanto a questo si trova il bottone Stop Game che permette di terminare il gioco e ripristinare la damiera nella configurazione iniziale. A lato della damiera, come si nota in Figura 1.2 si trovano due aree con le opzioni che possono essere scelte rispettivamente per il giocatore bianco a sinistra e quello nero a destra. Per ambdue i giocatori si può scegliere il tipo di giocatore, ossia se si desidera che sia umano o computer, si veda Figura 1.3. Il gioco permette che due computer giochino uno contro l'altro, oppure due umani o un computer ed un umano.
Figure 1.3: Area di visualizzazione del menù di scelta del giocatore. Nel caso in cui si decida di utilizzare la modalità computer e far giocare l'intelligenza artificiale, si possono scegliere due parametri: il tipo di funzione di valutazione che si vuole far utilizzare per scegliere la mossa migliore; la profondità che si vuole raggiungere nella ricerca all'interno dell'albero. Per quanto riguarda la funzione di valutazione sono state realizzati cinque diversi tipi di funzione, spiegate in Sezione 3.7, mentre per la profondità si può giocare facendo una ricerca di 2, 4, 6, 8, 10 ply. Vedi figure 1.4 e 1.5
Figura 1.5: Visualizzazione del menù di scelta della profondità dell'albero di ricerca Nella configurazione iniziale, il gioco inizia con le seguenti impostazioni di default: il giocatore nero è umano mentre quello bianco è il computer. In ambedue i casi la profondità selezionata è quattro e la funzione di valutazione impostata è Originale. Accanto alla barra laterale di scelta del menu per il giocatore nero, si trova un'area dove vengono scritte tutte le mosse che sono state eseguite, specificando il giocatore che le ha realizzate. In Figura 1.6 si può osservare una sequenza di mosse eseguita dai due giocatori durante una partita.
Sotto la damiera, viene indicato lo stato del gioco. In caso di vincita di uno dei due giocatori, viene visualizzato il messaggio di vittoria ed il nome del giocatore; se si verifica un pareggio viene mostrato il messaggio di patta; nel caso di partita regolare, viene visualizzato chi è il prossimo giocatore cui spetta la prossima mossa. Dopo aver premuto il tasto New Game, il gioco può iniziare. Nel caso in cui si sia selezionato che il giocatore nero sia il computer, automaticamente verrà eseguita la prima mossa e successivamente toccherà al secondo giocatore muovere. Se il giocatore è umano per poter eseguire la propria mossa, deve selezionare la pedina che desidera spostare cliccando con il mouse sulla casella che la contiene. Se tale pedina può essere mossa la relativa casella verrà evidenziata in arancione per indicare che è stata selezionata, altrimenti di rosso per indicare che tutte le mosse che iniziano da quella casella sono vietare. Nel caso in cui venga cliccato su una regione al di fuori della damiera, su caselle vuote o su una casella contenente un pezzo avversario non verrà mostrata alcuna selezione. Per continuare ad eseguire la mossa è necessario cliccare su tutte le caselle che si devono attraversare per eseguirla. In ogni momento del gioco è possibile cambiare la tipologia del giocatore, il valore della profondità e la funzione di valutazione impostata ed il gioco proseguirà con le nuove impostazioni. Il gioco originale scaricato dalla rete permetteva di passare il proprio turno, ossia di decidere di non eseguire alcuna mossa e lasciare il turno all'avversario. Tra le regole ufficiali riportate nel sito della Federazione Italiana Dama non si è trovata questa possibilità e si è deciso di rimuovere tale opzione ed obbligare ogni giocatore ad eseguire esattamente una mossa ad ogni turno.
|