Package sudoku.structure
Class Sudoku
java.lang.Object
sudoku.structure.Sudoku
Class : Sudoku
Brief : Représent un Sudoku
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanBePlaced(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.intgetCell(int i) getCell(int x, int y) Renvoie la Cell aux coordonées données.getCells()Renvoie la 1re Cell vide du Sudoku.intgetSize()booleanhasConstraint(Constraint constraint) booleanisSolved()Vérifie si le Sudoku est résolue, soit complet et cohérent avec ses contraintes.booleanisValidCoords(int index) Vérifie que l'index correspond bien à une Cell dans le Sudoku.booleanisValidCoords(int x, int y) Vérifie que des coordonnées correspondent bien à une Cell dans le Sudoku.voidsetBlockWidth(int blockWidth) booleansetCellsSymbol(List<Integer> values) Place les symboles d'index contenus dans values dans les cases du Sudoku.setCellSymbol(int x, int y, int value) Place le symbole d'index value dans la Cell de coordonnées précisées.booleansetImmutableCellsSymbol(List<Integer> values) Place les symboles d'index contenus dans values dans les cases du Sudoku et rend ces cases immuables.toCoords(int index) Transforme un index de Cell en Coordinate.inttoIndex(int x, int y) Transforme des coordonées d'une Cell en index.toString()
-
Constructor Details
-
Sudoku
-
-
Method Details
-
toCoords
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
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
Renvoie la 1re Cell vide du Sudoku.- Returns:
- Cell, une Cell vide, ou null s'il n'y en a pas.
-
setCellSymbol
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
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
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
-
getCell
-
getSize
public int getSize() -
getCells
-
getBlocks
-
getConstraints
-
getBlockWidth
public int getBlockWidth() -
setBlockWidth
public void setBlockWidth(int blockWidth) -
toString
-