Class Sudoku

java.lang.Object
sudoku.structure.Sudoku

public class Sudoku extends Object
Class : Sudoku Brief : Représent un Sudoku
  • Constructor Details

  • Method Details

    • toCoords

      public Coordinate toCoords(int index)
      Transforme un index de Cell en Coordinate.
      Parameters:
      index - int, index d'une Cell.
      Returns:
      Coordinate, correspondante à l'index donné.
    • toIndex

      public int toIndex(int x, int y)
      Transforme des coordonées d'une Cell en index.
      Parameters:
      x - int, abscisse.
      y - int, ordonnée.
      Returns:
      int, index correspondant.
    • isValidCoords

      public boolean isValidCoords(int x, int y)
      Vérifie que des coordonnées correspondent bien à une Cell dans le Sudoku.
      Returns:
      boolean, valant true si les coordonnées sont dans les bornes du Sudoku, false sinon.
    • isValidCoords

      public boolean isValidCoords(int index)
      Vérifie que l'index correspond bien à une Cell dans le Sudoku.
      Returns:
      boolean, valant true si l'index est dans les bornes du Sudoku, false sinon.
    • canBePlaced

      public boolean canBePlaced(int x, int y, int value)
      Teste si on peut placer la value dans la Cell aux coordonnées x, y d'après les contraintes du Sudoku.
      Parameters:
      x - int, abscisse de la Cell voulue.
      y - int, ordonnée de la Cell voulue.
      value - int, index du symbole qu'on veut placer.
      Returns:
      boolean, true si on peut la placer et false sinon.
    • isSolved

      public boolean isSolved()
      Vérifie si le Sudoku est résolue, soit complet et cohérent avec ses contraintes.
      Returns:
      boolean, valant true si le Sudoku est résolu, false sinon.
    • getCell

      public Cell getCell(int x, int y)
      Renvoie la Cell aux coordonées données.
      Parameters:
      x - int, abscisse.
      y - int, ordonnée.
      Returns:
      Cell, si une Cell existe aux coordonnées données, null sinon.
    • getFirstEmptyCell

      public Cell getFirstEmptyCell()
      Renvoie la 1re Cell vide du Sudoku.
      Returns:
      Cell, une Cell vide, ou null s'il n'y en a pas.
    • setCellSymbol

      public Cell setCellSymbol(int x, int y, int value)
      Place le symbole d'index value dans la Cell de coordonnées précisées.
      Parameters:
      x - int, abscisse de la Cell voulue.
      y - int, coordonnée de la Cell voulue.
      value - int, index du symbole à placer.
      Returns:
      Cell, la Cell qui a été modifiée.
    • setCellsSymbol

      public boolean setCellsSymbol(List<Integer> values)
      Place les symboles d'index contenus dans values dans les cases du Sudoku.
      Parameters:
      values - List~Integer~, liste des index des symboles à placer.
      Returns:
      boolean, vaut true si les symboles ont été placés, false sinon.
    • setImmutableCellsSymbol

      public boolean setImmutableCellsSymbol(List<Integer> values)
      Place les symboles d'index contenus dans values dans les cases du Sudoku et rend ces cases immuables.
      Parameters:
      values - List~Integer~, liste des index des symboles à placer.
      Returns:
      boolean, vaut true si les symboles ont été placés, false sinon.
    • hasConstraint

      public boolean hasConstraint(Constraint constraint)
    • getCell

      public Cell getCell(int i)
    • getSize

      public int getSize()
    • getCells

      public List<Cell> getCells()
    • getBlocks

      public List<Block> getBlocks()
    • getConstraints

      public List<IConstraint> getConstraints()
    • getBlockWidth

      public int getBlockWidth()
    • setBlockWidth

      public void setBlockWidth(int blockWidth)
    • toString

      public String toString()
      Overrides:
      toString in class Object