java.lang.Object
com.klotski.app.Game
Classe che rappresenta lo stato del gioco di Klotski. Dispone:
- del numero della configurazione di partenza (tra le 4 iniziali),
- della configurazione attuale dei pezzi,
- di un contatore delle mosse (a partire dalla configurazione iniziale)
- del path del file di log (o storico o database) dove è salvata la partita (sotto forma di configurazioni)
- del path del file di supporto per la serializzazione/deserializzazione in json della configurazione attuale
-
Constructor Summary
ConstructorsConstructorDescriptionCostruttore di default Crea un gioco a partire dal file di log, e da un file di supporto per la serializzazione delle configurazioni - se c'è una partita precedente la riprende - altrimenti crea il gioco dalla configurazione iniziale di default (la numero 1) -
Method Summary
Modifier and TypeMethodDescriptionMetodo per ritornare la configurazione attualeint
Metodo per ritornare il numero della configurazione iniziale associata alla configurazione attualeint
Metodo per ritornare il counter delle mossevoid
Metodo chiamato alla pressione delle frecce o dei tasti ASDW con blocco selezionato Muove il pezzo selezionato nella direzione designata di 100px, se possibile, altrimenti termina silenziosamentevoid
reset()
Metodo che resetta il gioco: setta la configurazione corrente con la sua configurazione iniziale e resetta e aggiorna il logvoid
resetToAnotherInitialConf
(int confNumber) Metodo che resetta il gioco ad una configurazione iniziale: setta la configurazione corrente con una delle 4 configurazioni iniziali, diversa da quella iniziale corrente e resetta e aggiorna il log.void
setConfiguration
(Configuration newConfiguration) Metodo per settare la configurazione attuale con la nuova configurazione passatavoid
undo()
Metodo che fa un undo: setta la configurazione corrente con la configurazione precedente, che viene presa dal log che viene aggiornato
-
Constructor Details
-
Game
Costruttore di default Crea un gioco a partire dal file di log, e da un file di supporto per la serializzazione delle configurazioni - se c'è una partita precedente la riprende - altrimenti crea il gioco dalla configurazione iniziale di default (la numero 1)- Parameters:
logFilePathName
- file di log (json) (se non esiste già viene creato)supportFilePathName
- file di supporto (json) (se non esiste già viene creato)
-
-
Method Details
-
getInitialSelectedConf
public int getInitialSelectedConf()Metodo per ritornare il numero della configurazione iniziale associata alla configurazione attuale- Returns:
- _initialSelectedConf
-
getConfiguration
Metodo per ritornare la configurazione attuale- Returns:
- _configuration
-
setConfiguration
Metodo per settare la configurazione attuale con la nuova configurazione passata- Parameters:
newConfiguration
- nuova configurazione passata
-
getMoveCounter
public int getMoveCounter()Metodo per ritornare il counter delle mosse- Returns:
- _moveCounter
-
movePiece
Metodo chiamato alla pressione delle frecce o dei tasti ASDW con blocco selezionato Muove il pezzo selezionato nella direzione designata di 100px, se possibile, altrimenti termina silenziosamente- Parameters:
movingPiece
- pezzo da muoveredirIdx
- direzione in cui muoverlo- Throws:
Exception
- se la partita si trova in una configurazione di vittoriaIllegalArgumentException
- se il blocco non appartiene alla config attuale del gioco
-
resetToAnotherInitialConf
Metodo che resetta il gioco ad una configurazione iniziale: setta la configurazione corrente con una delle 4 configurazioni iniziali, diversa da quella iniziale corrente e resetta e aggiorna il log.- Parameters:
confNumber
- configurazione iniziale a cui settare il gioco- Throws:
Exception
- se confNumber la configurazione iniziale passata è la configurazione iniziale corrente
-
reset
public void reset()Metodo che resetta il gioco: setta la configurazione corrente con la sua configurazione iniziale e resetta e aggiorna il log -
undo
Metodo che fa un undo: setta la configurazione corrente con la configurazione precedente, che viene presa dal log che viene aggiornato- Throws:
Exception
- se non è disponibile nessuna configurazione precedente
-