Class Game

java.lang.Object
com.klotski.app.Game

public class Game extends Object
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

    Constructors
    Constructor
    Description
    Game(String logFilePathName, String supportFilePathName)
    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)
  • Method Summary

    Modifier and Type
    Method
    Description
    Metodo per ritornare la configurazione attuale
    int
    Metodo per ritornare il numero della configurazione iniziale associata alla configurazione attuale
    int
    Metodo per ritornare il counter delle mosse
    void
    movePiece(Piece movingPiece, int dirIdx)
    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
    void
    Metodo che resetta il gioco: setta la configurazione corrente con la sua configurazione iniziale e resetta e aggiorna il log
    void
    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 passata
    void
    Metodo che fa un undo: setta la configurazione corrente con la configurazione precedente, che viene presa dal log che viene aggiornato

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Game

      public Game(String logFilePathName, String supportFilePathName)
      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

      public Configuration getConfiguration()
      Metodo per ritornare la configurazione attuale
      Returns:
      _configuration
    • setConfiguration

      public void setConfiguration(Configuration newConfiguration)
      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

      public void movePiece(Piece movingPiece, int dirIdx) throws Exception
      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 muovere
      dirIdx - direzione in cui muoverlo
      Throws:
      Exception - se la partita si trova in una configurazione di vittoria
      IllegalArgumentException - se il blocco non appartiene alla config attuale del gioco
    • resetToAnotherInitialConf

      public void resetToAnotherInitialConf(int confNumber) throws Exception
      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

      public void undo() throws Exception
      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