|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectScacchiera
Gioco
public class Gioco
Sotto-classe di Scacchiera, aggiunge informazioni e metodi riguardanti il movimento dei pezzi: direzioni possibili di movimento, controllo se una mossa sia possibile, generazione delle mosse possibili ecc.
Field Summary | |
---|---|
int |
aChiTocca
Colore del giocatore a cui tocca fare la prossima mossa, inizialmente tocca al bianco. |
static int |
FERMA
Codifica nessuna direzio |
Mossa |
mossaInFormazione
Mossa in preparazione per essere poi eseguita. |
java.lang.String |
msg
Messaggio che commenta l'esito dell'ultima chiamata a una delle due funzioni puoAndare. |
static int |
NORD_EST
Codifica la direzione nord est (riga decresce, colonna cresce) |
static int |
NORD_OVEST
Codifica la direzione nord ovest (riga decresce, colonna decresce) |
static int |
SUD_EST
Codifica la direzione sud est (riga cresce, colonna cresce) |
static int |
SUD_OVEST
Codifica la direzione sud ovest (riga cresce, colonna decresce) |
Fields inherited from class Scacchiera |
---|
BIANCO, contenutoCaselle, DAMA_BIANCA, DAMA_NERA, DIM_LATO, NERO, NON_COLORE, PEDINA_BIANCA, PEDINA_NERA, VUOTA |
Constructor Summary | |
---|---|
Gioco()
Crea nuovo gioco con scacchiera in situazione iniziale e primo giocatore a cui tocca il bianco. |
Method Summary | |
---|---|
boolean |
adiacenteDiretta(Casella c1,
Casella c2)
Ritorna se le due caselle sono direttamente adiacenti, cioe' si toccano per un vertice. |
Casella |
casellaAdiacente(Casella c,
int direz)
Ritorna la casella adiacente a quella data, secondo la direzione di un punto cardinale. |
int |
chiHaVinto()
Se uno dei due giocatori ha vinto, ritorna il colore del vincitore, altrimenti ritorna nessun colore. |
int |
coloreOpposto(int colore)
Ritorna il colore opposto a quello dato: bianco per nero e nero per bianco, se il colore non esiste e' il colore della casella vuota), lo ritorna. |
int |
direzGiacenza(Casella c1,
Casella c2)
Ritorna in che direzione devo andare per muovermi da c2 verso c1. |
void |
esegui(Mossa m)
Esegue la mossa assegnata, cambia anche il giocatore a cui tocca. |
boolean |
eVersoAvanti(Casella c1,
Casella c2,
int colore)
Controlla se muovere dalla casella c1 alla casella c2 e' verso avanti, cioe' verso la sponda avversaria della scacchiera, per il giocatore del colore dato. |
boolean |
eVersoAvanti(int direz,
int colore)
Controlla se la direzione assegnata e' verso avanti, cioe' verso la sponda avversaria della scacchiera, per il giocatore del colore dato. |
Casella |
mangiataFra(Casella c1,
Casella c2)
Ritorna la casella che si trova intrappolata fra due caselle. |
boolean |
puoAndare(Mossa m,
Casella cas)
Controlla se il pezzo che si trova sull'ultima casella della mossa m puo' andare nella casella cas, in caso affermativo estende la mossa m. |
boolean |
puoAndare(Mossa m,
int direz)
Controlla se il pezzo che si trova sull'ultima casella della mossa m puo' andare ancora nella direzione direz, in caso affermativo estende la mossa m. |
java.util.LinkedList |
suggerisciMosse(Casella cas)
Restituisce lista di tutte le mosse possibili per il pezzo che si trova nella casella specificata. |
protected void |
suggerisciMosseRic(Mossa m0,
java.util.LinkedList mosse)
Funzione ausiliaria, ricirsiva, trova le mosse possibili per il pezzo che si trova nella casella specificata, e le aggiunge alla lista. |
Methods inherited from class Scacchiera |
---|
bordoOpposto, colore, contenuto, contenuto, declassataPedina, eDentro, eDentro, eNera, eNera, ePedina, metti, metti, promossaDama, stampaScacchiera, statoIniziale |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NORD_OVEST
public static final int NORD_EST
public static final int SUD_OVEST
public static final int SUD_EST
public static final int FERMA
public int aChiTocca
public Mossa mossaInFormazione
public java.lang.String msg
Constructor Detail |
---|
public Gioco()
Method Detail |
---|
public boolean eVersoAvanti(int direz, int colore)
direz
- direzione da controllare se e' verso avanti,
deve essere una tra NORD_OVEST, NORD_EST, SUD_OVEST, SUD_ESTcolore
- colore del pezzo da muoverepublic boolean eVersoAvanti(Casella c1, Casella c2, int colore)
c1
- casella dove sta ora il pezzo da muoverec2
- casella nella quale si vuole spostare il pezzocolore
- colore del pezzo da spostarepublic int coloreOpposto(int colore)
colore
- colore di cui trovare l'oppostopublic Casella casellaAdiacente(Casella c, int direz)
c
- casella di cui trovare l'adiacentedirez
- direzione nella quale vogliamo l'adiacente,
deve essere una tra NORD_OVEST, NORD_EST, SUD_OVEST, SUD_ESTpublic boolean adiacenteDiretta(Casella c1, Casella c2)
c1
- una delle due casellec2
- l'altra casellapublic int direzGiacenza(Casella c1, Casella c2)
c1
- casella dove sta ora il pezzo da muoverec2
- casella nella quale si vuole spostare il pezzopublic Casella mangiataFra(Casella c1, Casella c2)
c1
- una delle due casellec2
- l'altra casellapublic boolean puoAndare(Mossa m, int direz)
m
- la mossa che provo a estenderedirez
- la direzione in cui provo a estenderla, deve
essere una tra NORD_OVEST, NORD_EST, SUD_OVEST, SUD_ESTpublic boolean puoAndare(Mossa m, Casella cas)
m
- la mossa che provo a estenderecas
- la casella in cui provo a estenderlapublic void esegui(Mossa m)
m
- la mossa da eseguirepublic int chiHaVinto()
public java.util.LinkedList suggerisciMosse(Casella cas)
cas
- la casella di partenzaprotected void suggerisciMosseRic(Mossa m0, java.util.LinkedList mosse)
m0
- la mossa che provo a estenderemosse
- la lista di mosse in cui salvo man mano le mosse
massimali (cioe' non ulteriormente estendibili) costruite
estendendo la mossa m0 (anche m0 se e' massimale)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |