Class Configuration

java.lang.Object
com.klotski.app.Configuration

public class Configuration extends Object
Classe che rappresenta una configurazione del gioco del Klotski. Una configurazione è intesa come l'insieme dei pezzi e la loro disposizione. Identifica una (situazione di una) mossa del gioco.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Costruttore di default, che costruisce la prima configurazione.
    Configuration(int configurationNumber)
    Costruttore che compone la configurazione iniziale designata.
    Costruttore con array di Piece come parametro.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Metodo che indica se il pezzo appartiene alla configurazione (per riferimento).
    Metodo che ritorna l'array di Piece.
    static int[]
    getPiecesType(int configurationNumber)
    Metodo che ritorna i tipi dei pezzi che compongono la configurazione designata.
    static Tuple[]
    getPositions(int configurationNumber)
    Metodo che ritorna un array di tuple che rappresentano le coordinate delle posizioni dei pezzi.
    static int
    Metodo che verifica se la configurazione passata è uguale a una delle 4 configurazioni iniziali.
    void
    setPieces(int confNumber)
    Metodo che setta i pezzi dell'array pieces.
    Metodo per stampare una configurazione.

    Methods inherited from class java.lang.Object

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

    • Configuration

      public Configuration()
      Costruttore di default, che costruisce la prima configurazione.
    • Configuration

      public Configuration(int configurationNumber) throws IllegalArgumentException
      Costruttore che compone la configurazione iniziale designata.
      Parameters:
      configurationNumber - configurazione designata.
      Throws:
      IllegalArgumentException - se configurationNumber non è valido (minore di 1 o maggiore di 4)
    • Configuration

      public Configuration(Piece[] p)
      Costruttore con array di Piece come parametro. Permette (potenzialmente) di creare una configurazione diversa dalle 4 iniziali previste.
      Parameters:
      p - array di Piece.
      Throws:
      IllegalArgumentException - se p non contiene esattamente 10 pezzi
  • Method Details

    • getPieces

      public Piece[] getPieces()
      Metodo che ritorna l'array di Piece.
      Returns:
      pieces campo di esemplare.
    • setPieces

      public void setPieces(int confNumber) throws IllegalArgumentException
      Metodo che setta i pezzi dell'array pieces.
      Parameters:
      confNumber - configurazione designata per i pezzi.
      Throws:
      IllegalArgumentException - se confNumber non è valido (minore di 1 o maggiore di 4)
    • getPiecesType

      public static int[] getPiecesType(int configurationNumber)
      Metodo che ritorna i tipi dei pezzi che compongono la configurazione designata.
      Parameters:
      configurationNumber - configurazione designata.
      Returns:
      types array con il tipo di ciascun pezzo.
      Throws:
      IllegalArgumentException - se configurationNumber non è valido (minore di 1 o maggiore di 4)
    • getPositions

      public static Tuple[] getPositions(int configurationNumber)
      Metodo che ritorna un array di tuple che rappresentano le coordinate delle posizioni dei pezzi.
      Parameters:
      configurationNumber - configurazione designata.
      Returns:
      positions array di tuple.
      Throws:
      IllegalArgumentException - se configurationNumber non è valido (minore di 1 o maggiore di 4)
    • doesPieceBelong

      public boolean doesPieceBelong(Piece piece)
      Metodo che indica se il pezzo appartiene alla configurazione (per riferimento).
      Parameters:
      piece - pezzo da controllare.
      Returns:
      true se appartiene, false altrimenti.
    • isInitialConfiguration

      public static int isInitialConfiguration(Configuration conf)
      Metodo che verifica se la configurazione passata è uguale a una delle 4 configurazioni iniziali.
      Parameters:
      conf - configurazione da verificare.
      Returns:
      numero della configurazione corrispondente, altrimenti ritorna 0.
    • toString

      public String toString()
      Metodo per stampare una configurazione.
      Overrides:
      toString in class Object
      Returns:
      sconf stringa che rappresenta la configurazione.