feat: better shared contraints and backtrace working !

This commit is contained in:
2025-02-08 17:34:46 +01:00
parent bf9bfc8323
commit f002667e54
4 changed files with 330 additions and 169 deletions

View File

@@ -14,6 +14,7 @@ public class Grille {
private final ArrayList<Bloc> blocs;
private ArrayList<Symbole> symbolesPossibles;
private final Sudoku sudoku;
private Multidoku multidoku; // Référence à Multidoku
private List<String> generatedColors;
public Grille(int taille, Sudoku sudoku) {
@@ -34,6 +35,10 @@ public class Grille {
}
}
public void setMultidoku(Multidoku multidoku) {
this.multidoku = multidoku;
}
/**
* 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,
@@ -78,6 +83,17 @@ public class Grille {
}
}
// public void setCaseAvecPropagation(int ligne, int colonne, Symbole symbole) {
// // Affecte la valeur dans la grille courante
// setCase(ligne, colonne, symbole);
// // Si cette case est partagée et qu'il y a un multidoku, on propage
// // immédiatement la valeur
// if (multidoku != null && multidoku.isSharedCase(getCase(ligne, colonne))) {
// multidoku.propagateSharedCase(getCase(ligne, colonne), symbole);
// }
// }
public Case getCase(int ligne, int colonne) {
return cases[ligne][colonne];
}