Package sudoku.structure
Class SudokuFactory
java.lang.Object
sudoku.structure.SudokuFactory
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic List<IConstraint> Liste des contraintes par défaut d'un Multi- ou Sudoku. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic MultiDokucreateBasicEmptyRandomBlockDoku(int blockSize, List<IConstraint> constraints) Crée un Sudoku vide avec les Blocks aléatoires.static MultiDokucreateBasicEmptyRectangleDoku(int widthBlock, int heightBlock, List<IConstraint> constraints) Créée un MultiDoku vide dont les Blocks sont de taille widthBlock par heightBlock.static MultiDokucreateBasicEmptySquareDoku(int size, List<IConstraint> constraints) Créée un MultiDoku vide dont les Blocks sont carrés de longueur size.static MultiDokucreateBasicPlusShapedMultidoku(int width, int height, List<IConstraint> constraints) Créée un MultiDoku de Blocks rectangulaires de forme +, de taille width par height composé de cinq Sudokus, dont un central qui partage chacun de ses Blocks de bord avec un autre Sudoku. 3 2 1 4 5static MultiDokucreateBasicPlusShapedMultidoku(int size, List<IConstraint> constraints) Créée un MultiDoku de Blocks carrés de forme +, de taille size composé de cinq Sudokus, dont un central qui partage chacun de ses Blocks de bord avec un autre Sudoku. 3 2 1 4 5static MultiDokucreateBasicXShapedMultidoku(int width, int height, List<IConstraint> constraints) Créée un MultiDoku de Blocks rectangulaires de forme X, de taille width par height composé de cinq Sudokus, dont un central qui partage chacun de ses Blocks d'angle avec un autre Sudoku. 2 3 1 4 5static MultiDokucreateBasicXShapedMultidoku(int size, List<IConstraint> constraints) Créée un MultiDoku de Blocks carrés de taille size composé de cinq Sudokus, dont un central qui partage chacun de ses Blockss d'angle avec un autre Sudoku. 2 3 1 4 5static voidfillDoku(MultiDoku doku, Difficulty difficulty) Rempli un MultiDoku donné par rapport à un difficulté.static List<IConstraint> fromConstraints(List<Constraint> constraints) Transforme des Constraints en IConstraints correspondants.static MultiDokuGénère un MultiDoku à partir d'un fichier de sauvegarde.static booleannewDokuFromFilledOne(MultiDoku doku, int nbCellsToEmpty, Solver solver) Créée un MultiDoku de difficulté difficulty à partir d'un MultiDoku fourni.
-
Field Details
-
DEFAULT_CONSTRAINTS
Liste des contraintes par défaut d'un Multi- ou Sudoku. Comprend les contraintes de blocs, de lignes, et de colonnes.
-
-
Constructor Details
-
SudokuFactory
public SudokuFactory()
-
-
Method Details
-
createBasicEmptyRectangleDoku
public static MultiDoku createBasicEmptyRectangleDoku(int widthBlock, int heightBlock, List<IConstraint> constraints) Créée un MultiDoku vide dont les Blocks sont de taille widthBlock par heightBlock.- Parameters:
widthBlock- int, largeur des Blocks.heightBlock- int, hauteur des Blocks.- Returns:
- MultiDoku, MultiDoku vide.
-
createBasicEmptySquareDoku
Créée un MultiDoku vide dont les Blocks sont carrés de longueur size.- Parameters:
size- int, taille des Blocks.- Returns:
- MultiDoku, MultiDoku vide.
-
createBasicXShapedMultidoku
Créée un MultiDoku de Blocks carrés de taille size composé de cinq Sudokus, dont un central qui partage chacun de ses Blockss d'angle avec un autre Sudoku. 2 3 1 4 5- Parameters:
size- int, largeur des Blocks unitraires des Sudokus à crééer.- Returns:
- MultiDoku, MultiDoku de forme X.
-
createBasicXShapedMultidoku
public static MultiDoku createBasicXShapedMultidoku(int width, int height, List<IConstraint> constraints) Créée un MultiDoku de Blocks rectangulaires de forme X, de taille width par height composé de cinq Sudokus, dont un central qui partage chacun de ses Blocks d'angle avec un autre Sudoku. 2 3 1 4 5- Parameters:
width- int, largeur des Blocks unitaires des Sudokus à crééer.height- int, hauteur des Blocks unitaires des Sudokus à crééer.- Returns:
- MultiDoku, MultiDoku de forme X.
-
createBasicPlusShapedMultidoku
Créée un MultiDoku de Blocks carrés de forme +, de taille size composé de cinq Sudokus, dont un central qui partage chacun de ses Blocks de bord avec un autre Sudoku. 3 2 1 4 5- Parameters:
size- int, largeur des Blocks unitaires des Sudokus à crééer.- Returns:
- MultiDoku, MultiDoku de forme +.
-
createBasicPlusShapedMultidoku
public static MultiDoku createBasicPlusShapedMultidoku(int width, int height, List<IConstraint> constraints) Créée un MultiDoku de Blocks rectangulaires de forme +, de taille width par height composé de cinq Sudokus, dont un central qui partage chacun de ses Blocks de bord avec un autre Sudoku. 3 2 1 4 5- Parameters:
width- int, largeur des Blocks unitaires des Sudokus à crééer.height- int, hauteur des Blocks unitaires des Sudokus à crééer.- Returns:
- MultiDoku, MultiDoku de forme +.
-
createBasicEmptyRandomBlockDoku
public static MultiDoku createBasicEmptyRandomBlockDoku(int blockSize, List<IConstraint> constraints) Crée un Sudoku vide avec les Blocks aléatoires.- Parameters:
blockSize- int, la taille des Block.constraints- List~IConstraint~, la liste des contraintes.- Returns:
- MultiDoku, avec un seul Sudoku.
-
newDokuFromFilledOne
public static boolean newDokuFromFilledOne(MultiDoku doku, int nbCellsToEmpty, Solver solver) throws Exception Créée un MultiDoku de difficulté difficulty à partir d'un MultiDoku fourni.- Parameters:
doku- MultiDoku, MultiDoku dont on doit vider des Cells.nbCellsToEmpty- int, nombre de cases à retirer.- Returns:
- boolean, valant true si un MultiDoku de difficulté donnée peut être créée, false sinon.
- Throws:
Exception- si la difficulté n'est pas compatible avec la taille du MultiDoku.
-
fillDoku
Rempli un MultiDoku donné par rapport à un difficulté.- Parameters:
doku- MultiDoku, vide.difficulty- Difficulty, qui correspond au pourcentage de cases à enlever.- Throws:
Exception
-
fromfile
Génère un MultiDoku à partir d'un fichier de sauvegarde.- Parameters:
filePath- String, chemin du fichier.- Returns:
- MultiDoku.
-
fromConstraints
Transforme des Constraints en IConstraints correspondants.- Parameters:
constraints- List~Constraints~- Returns:
- List~IConstraints~
-