feat: one different color for every bloc
This commit is contained in:
@@ -22,9 +22,8 @@ public class Grille {
|
|||||||
this.blocs = new ArrayList<>();
|
this.blocs = new ArrayList<>();
|
||||||
this.symbolesPossibles = new ArrayList<>();
|
this.symbolesPossibles = new ArrayList<>();
|
||||||
this.sudoku = sudoku;
|
this.sudoku = sudoku;
|
||||||
// Ici, on génère une palette de couleurs (par exemple 4 couleurs).
|
// Pour un sudoku classique, on attend "taille" blocs, donc on génère "taille"
|
||||||
// Si vous souhaitez avoir autant de couleurs qu'il y a de blocs,
|
// couleurs.
|
||||||
// vous pouvez adapter le nombre passé à greatScheme/greatPalette.
|
|
||||||
initColors();
|
initColors();
|
||||||
|
|
||||||
// Initialiser les cases
|
// Initialiser les cases
|
||||||
@@ -35,8 +34,13 @@ public class Grille {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Génère une palette de couleurs en fonction du nombre de blocs attendus.
|
||||||
|
* Pour un sudoku classique, la grille est de taille n², et il y a n² blocs,
|
||||||
|
* on génère donc 'taille' couleurs.
|
||||||
|
*/
|
||||||
private void initColors() {
|
private void initColors() {
|
||||||
int numberOfColors = 4; // ou un autre nombre souhaité
|
int numberOfColors = taille; // nombre de couleurs = nombre de blocs (pour sudoku classique)
|
||||||
List<ColorGenerator.Color> colors = ColorGenerator.greatScheme(numberOfColors);
|
List<ColorGenerator.Color> colors = ColorGenerator.greatScheme(numberOfColors);
|
||||||
generatedColors = new ArrayList<>();
|
generatedColors = new ArrayList<>();
|
||||||
for (ColorGenerator.Color color : colors) {
|
for (ColorGenerator.Color color : colors) {
|
||||||
@@ -128,7 +132,7 @@ public class Grille {
|
|||||||
throw new IllegalArgumentException("La taille de la grille doit être un carré parfait.");
|
throw new IllegalArgumentException("La taille de la grille doit être un carré parfait.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Création des blocs en motif 3x3 (ou autre selon la taille)
|
// Création des blocs en motif (par exemple 3x3 pour un sudoku 9x9)
|
||||||
for (int blocRow = 0; blocRow < blocSize; blocRow++) {
|
for (int blocRow = 0; blocRow < blocSize; blocRow++) {
|
||||||
for (int blocCol = 0; blocCol < blocSize; blocCol++) {
|
for (int blocCol = 0; blocCol < blocSize; blocCol++) {
|
||||||
List<int[]> positions = new ArrayList<>();
|
List<int[]> positions = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user