package scacchi.prova;
import java.io.*; // serve solo per la verifica del funzionamento
import scacchi.main.Partita;
import scacchi.main.ArgomentiComando.*;
import scacchi.main.EccezioniTesto.*;
import scacchi.main.EccezioniPartita.*;
/**
* Versione di prova della classe PartitaScacchi che implementa
* {@link scacchi.main.Partita}.
* Questa classe serve a verificare il funzionamento di
* {@link scacchi.main.InterfacciaComandiScacchi}. I metodi implementati
* in questa classe di prova non implemenatno i compiti che dovrebbero
* svolgere, ma stampano un messaggio di avviso che descrive il metodo
* invocato e terminano ritornando una risposta predefinita.
*/
public class PartitaScacchi implements Partita {
/** Valore di risposta prefissato da usare nella prova */
private static ListaPosPezziTesto LPPT;
/** Valore di risposta prefissato da usare nella prova */
private static ListaMosseTesto LMT;
/** Valore di risposta prefissato da usare nella prova */
private static ListaCaseTesto LCT;
{ // inizializzazione delle risposte prefissate
try {
LPPT = new ListaPosPezziTesto("Re1");
LMT = new ListaMosseTesto("e2e4");
LCT = new ListaCaseTesto("e1");
} catch (NotazioneException e) { throw new Error(); }
}
/**
* Crea una nuova partita che comincia dalla posizione iniziale del gioco.
*
* Versione di prova: stampa un messaggio
*/
public PartitaScacchi() {
System.out.println("> PartitaScacchi <");
};
/**
* Crea una nuova partita che comincia da una posizione data.
* @param n Il numero di mossa da cui comincia la partita. Se positivo
* il tratto è al BIANCO, se negativo al NERO.
* @param l La lista delle posizioni dei pezzi che descrive la
* posizione di inizio della partita.
* @throws scacchi.main.EccezioniPartita.PosizioneInizialeException
* Se la posizione di partenza non verifica le seguenti
* condizioni:
*
* - nella posizione ci sono un (solo) Re BIANCO ed un
* (solo) Re NERO
* - il Re del giocatore che non ha il tratto non è
* sotto scacco
* - la pozione non contiene pedoni (di alcun colore) nella
* prima ed ottava traversa
*
*/
public PartitaScacchi(int n, ListaPosPezziTesto l)
throws PosizioneInizialeException {
System.out.println("> PartitaScacchi: " + n +
" " + l.toString() + " <");
}
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#getNumMossa()
*/
public int getNumMossa() {
System.out.println("> getNumMossa <");
return 1;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#eseguiMossa(scacchi.main.ArgomentiComando.MossaTesto)
*/
public ListaPosPezziTesto eseguiMossa(MossaTesto m)
throws MossaException {
String s0 = "> eseguiMossa: " + m.toString() + " <";
System.out.println(s0);
return LPPT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#tornaIndietro()
*/
public ListaPosPezziTesto tornaIndietro()
throws NoMoreMosseException {
String s0 = "> tornaIndietro <";
System.out.println(s0);
return LPPT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#tornaIndietro(int)
*/
public ListaPosPezziTesto tornaIndietro(int n)
throws NoMoreMosseException {
String s0 = "> tornaIndietro: " + n + " <";
System.out.println(s0);
return LPPT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#listaMosse()
*/
public ListaMosseTesto listaMosse() {
String s0 = "> listaMosse <";
System.out.println(s0);
return LMT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#listaMosse(int)
*/
public ListaMosseTesto listaMosse(int n)
throws NoMoreMosseException {
String s0 = "> listaMosse: " + n + " <";
System.out.println(s0);
return LMT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#getPosizionePezzi()
*/
public ListaPosPezziTesto getPosizionePezzi() {
String s0 = "> getPosizionePezzi <";
System.out.println(s0);
return LPPT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#caseControllate(scacchi.main.ArgomentiComando.CasaTesto)
*/
public ListaCaseTesto caseControllate(CasaTesto c)
throws CasaVuotaException {
String s0 = "> caseControllate: " + c.toString() + " <";
System.out.println(s0);
return LCT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#caseControllate(boolean)
*/
public ListaCaseTesto caseControllate(boolean colore) {
String s0 = "> caseControllate: " +
(colore ? "BIANCO" : "NERO") + " <";
System.out.println(s0);
return LCT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#caseControllate()
*/
public ListaCaseTesto caseControllate() {
String s0 = "> caseControllate <";
System.out.println(s0);
return LCT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#casaControllataDa(scacchi.main.ArgomentiComando.CasaTesto, boolean)
*/
public ListaPosPezziTesto casaControllataDa(CasaTesto c, boolean colore) {
String s0 = "> caseControllateDa: " + c.toString() +
" " + (colore ? "BIANCO" : "NERO") + " <";
System.out.println(s0);
return LPPT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#getMossePossibili(scacchi.main.ArgomentiComando.CasaTesto)
*/
public ListaCaseTesto getMossePossibili(CasaTesto c)
throws PartitaException {
String s0 = "> getMossePossibili: " + c.toString() + " <";
System.out.println(s0);
return LCT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#getMossePossibili()
*/
public ListaMosseTesto getMossePossibili() {
String s0 = "> getMossePossibili <";
System.out.println(s0);
return LMT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#getMosseValide(scacchi.main.ArgomentiComando.CasaTesto)
*/
public ListaMosseTesto getMosseValide(CasaTesto c) {
String s0 = "> getMosseValide: " + c.toString() + " <";
System.out.println(s0);
return LMT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#getMosseValide()
*/
public ListaMosseTesto getMosseValide() {
String s0 = "> getMosseValide <";
System.out.println(s0);
return LMT;
};
/**
* Versione di prova: stampa un avviso che segnala l'esecuzione
* del metodo e ritorna un valore predefinito.
* @see scacchi.main.Partita#scaccoAlRe()
*/
public boolean scaccoAlRe() {
System.out.println("> scaccoAlRe <");
return false;
};
}