scacchi.main
Interface Partita

All Known Implementing Classes:
PartitaScacchi, PartitaScacchi

public interface Partita


Field Summary
static boolean BIANCO
           
static boolean NERO
           
 
Method Summary
 ArgomentiComando.ListaPosPezziTesto casaControllataDa(ArgomentiComando.CasaTesto c, boolean colore)
          Elenca i pezzi di un colore che controllano una casa
 ArgomentiComando.ListaCaseTesto caseControllate()
          Restituisce l'elenco delle case controllate dal giocatore che ha il tratto.
 ArgomentiComando.ListaCaseTesto caseControllate(ArgomentiComando.CasaTesto c)
          Restituisce l'elenco delle case controllate da un pezzo.
 ArgomentiComando.ListaCaseTesto caseControllate(boolean colore)
          Restituisce l'elenco delle case controllate dai pezzi di un giocatore.
 ArgomentiComando.ListaPosPezziTesto eseguiMossa(ArgomentiComando.MossaTesto m)
          Esegue una mossa
 ArgomentiComando.ListaMosseTesto getMossePossibili()
          Restituisce l'elenco delle mosse possibili per il giocatore a cui sta la mossa.
 ArgomentiComando.ListaCaseTesto getMossePossibili(ArgomentiComando.CasaTesto c)
          Restituisce l'elenco delle mosse possibili di un pezzo del giocatore che ha la mossa.
 ArgomentiComando.ListaMosseTesto getMosseValide()
          Restituisce l'elenco delle mosse valide per il giocatore che deve muovere.
 ArgomentiComando.ListaMosseTesto getMosseValide(ArgomentiComando.CasaTesto c)
          Restituisce l'elenco delle mosse valide di un pezzo del giocatore che deve muovere.
 int getNumMossa()
          Restituisce il numero di mossa corrente.
 ArgomentiComando.ListaPosPezziTesto getPosizionePezzi()
          Restituisce la posizione dei pezzi
 ArgomentiComando.ListaMosseTesto listaMosse()
          Elenca le mosse della partita
 ArgomentiComando.ListaMosseTesto listaMosse(int n)
          Elenca le ultime semi-mosse della partita
 boolean scaccoAlRe()
          Verifica se il re del giocatore che ha il tratto è sotto scacco.
 ArgomentiComando.ListaPosPezziTesto tornaIndietro()
          Torna indietro di una (semi-)mossa
 ArgomentiComando.ListaPosPezziTesto tornaIndietro(int n)
          Torna indietro di un certo numero di semi-mosse o tratti
 

Field Detail

BIANCO

public static final boolean BIANCO
See Also:
Constant Field Values

NERO

public static final boolean NERO
See Also:
Constant Field Values
Method Detail

getNumMossa

public int getNumMossa()
Restituisce il numero di mossa corrente.
Le mosse vanno contate tenendo conto che una mossa completa si compone di una (semi-)mossa del bianco e di una (semi-)mossa del nero.

Returns:
Il numero della mossa. Un valore positivo del indica che la mossa sta al BIANCO, un valore negativo che la mossa sta al NERO

eseguiMossa

public ArgomentiComando.ListaPosPezziTesto eseguiMossa(ArgomentiComando.MossaTesto m)
                                                throws EccezioniPartita.MossaException
Esegue una mossa

Parameters:
m - la mossa da giocare
Throws:
EccezioniPartita.MossaImpossibileException - Se la mossa non corrisponde a un movimento possibile
EccezioniPartita.MossaNonValidaException - Se la mossa, anche se possibile, non è giocabile perchè il re rimane o finisce sotto scacco, oppure si tratta di un arrocco o di una presa en-passant non valida.
EccezioniPartita.MossaException

tornaIndietro

public ArgomentiComando.ListaPosPezziTesto tornaIndietro()
                                                  throws EccezioniPartita.NoMoreMosseException
Torna indietro di una (semi-)mossa

Returns:
la nuova posizione dopo che si è tornati indietro
Throws:
EccezioniPartita.NoMoreMosseException - Se la partita è ancors nella posizione iniziale

tornaIndietro

public ArgomentiComando.ListaPosPezziTesto tornaIndietro(int n)
                                                  throws EccezioniPartita.NoMoreMosseException
Torna indietro di un certo numero di semi-mosse o tratti

Returns:
la nuova posizione dopo che si è tornati indietro
Throws:
EccezioniPartita.NoMoreMosseException - Se si cerca di tornare indietro oltre la posizione iniziale

listaMosse

public ArgomentiComando.ListaMosseTesto listaMosse()
Elenca le mosse della partita

Returns:
la sequenza delle mosse

listaMosse

public ArgomentiComando.ListaMosseTesto listaMosse(int n)
                                            throws EccezioniPartita.NoMoreMosseException
Elenca le ultime semi-mosse della partita

Parameters:
n - Le semi-mosse da elencare (una semi-mossa è la parte di mossa di uno dei due giocatori)
Returns:
La sequenza delle ultime semi-mosse giocate
Throws:
EccezioniPartita.NoMoreMosseException - Se sono state giocate meno di n semi-mosse

getPosizionePezzi

public ArgomentiComando.ListaPosPezziTesto getPosizionePezzi()
Restituisce la posizione dei pezzi


caseControllate

public ArgomentiComando.ListaCaseTesto caseControllate(ArgomentiComando.CasaTesto c)
                                                throws EccezioniPartita.CasaVuotaException
Restituisce l'elenco delle case controllate da un pezzo.
Una casa è controllata da un pezzo se il pezzo può arrivarci in base alle sue regole di movimento e se la cosa è vuota o è occupata da un pezzo avversario.
Le case controllate da un pezzo non corrispondono necessariamente alle mosse possibili del pezzo. Un pedone, può muovere nella casa immediatamente di fronte alla sua posizione corrente ma non la controlla, visto che non può catturarci alcun pezzo. Analogamente, un pedone cotrolla le case in cui può effettuare una cattura, ma non può in tali case se sono vuote. non possono essere eseguite perchè il re è sotto scacco

Parameters:
c - casa del pezzo da muovere
Throws:
EccezioniPartita.CasaVuotaException - Nel caso in cui la casa s è vuota

caseControllate

public ArgomentiComando.ListaCaseTesto caseControllate(boolean colore)
Restituisce l'elenco delle case controllate dai pezzi di un giocatore.

Parameters:
colore - Il colore del giocatore da analizzare
See Also:
caseControllate(ArgomentiComando.CasaTesto)

caseControllate

public ArgomentiComando.ListaCaseTesto caseControllate()
Restituisce l'elenco delle case controllate dal giocatore che ha il tratto.

See Also:
caseControllate(ArgomentiComando.CasaTesto)

casaControllataDa

public ArgomentiComando.ListaPosPezziTesto casaControllataDa(ArgomentiComando.CasaTesto c,
                                                             boolean colore)
Elenca i pezzi di un colore che controllano una casa

Parameters:
c - La casa che si vuole analizzare
colore - Il colore dei pezzi da considerare
Returns:
La lista delle posizioni dei pezzi che controllano la casa.
See Also:
caseControllate(ArgomentiComando.CasaTesto), caseControllate(boolean)

getMossePossibili

public ArgomentiComando.ListaCaseTesto getMossePossibili(ArgomentiComando.CasaTesto c)
                                                  throws EccezioniPartita.PartitaException
Restituisce l'elenco delle mosse possibili di un pezzo del giocatore che ha la mossa.
Questo metodo non tiene conto di un eventuale scacco al re elenca cioè tutti i possibili movimenti di pezzi, anche quelli che non eliminano la situazione di scacco.
Il metodo getMosseValide(ArgomentiComando.CasaTesto) ritorna invece l'elenco delle sole mosse valide e quindi realmente eseguibili.

Parameters:
c - La casa del pezzo da muovere
Throws:
EccezioniPartita.CasaVuotaException - Nel caso in cui la casa s è vuota.
EccezioniPartita.ColorePezzoException - Nel caso in cui la casa s contiene un pezzo del colore del giocatore che non ha la mossa.
EccezioniPartita.PartitaException
See Also:
getMossePossibili(), getMosseValide(), getMosseValide(ArgomentiComando.CasaTesto)

getMossePossibili

public ArgomentiComando.ListaMosseTesto getMossePossibili()
Restituisce l'elenco delle mosse possibili per il giocatore a cui sta la mossa.

See Also:
getMossePossibili(ArgomentiComando.CasaTesto), getMosseValide(), getMosseValide(ArgomentiComando.CasaTesto)

getMosseValide

public ArgomentiComando.ListaMosseTesto getMosseValide(ArgomentiComando.CasaTesto c)
Restituisce l'elenco delle mosse valide di un pezzo del giocatore che deve muovere.
Ritorna solo le mosse che non lasciano o mettono il re sotto scacco.
Il metodo getMossePossibili(ArgomentiComando.CasaTesto) ritorna invece l'elenco delle mosse possibili.

Parameters:
c - La casa del pezzo da muovere
Throws:
EccezioniPartita.CasaVuotaException - Nel caso in cui la casa s è vuota.
EccezioniPartita.ColorePezzoException - Nel caso in cui la casa s contiene un pezzo del colore del giocatore che non ha la mossa.
See Also:
getMosseValide(), getMossePossibili(), getMossePossibili(ArgomentiComando.CasaTesto)

getMosseValide

public ArgomentiComando.ListaMosseTesto getMosseValide()
Restituisce l'elenco delle mosse valide per il giocatore che deve muovere.
Ritorna solo le mosse che non lasciano o mettono il re sotto scacco.
Se non ci sono mosse possibili allora si ha una situazione di scacco matto, se il re era sotto scacco, o di stallo, se non lo era.

See Also:
getMosseValide(ArgomentiComando.CasaTesto), getMossePossibili(), getMossePossibili(ArgomentiComando.CasaTesto)

scaccoAlRe

public boolean scaccoAlRe()
Verifica se il re del giocatore che ha il tratto è sotto scacco.

Returns:
true se il re è sotto scacco, false altrimenti.