refactor: update ContrainteBloc to handle rectangle bloc, update tests, and improve code comments
This commit is contained in:
@@ -7,12 +7,10 @@ import sudoku.core.Console;
|
||||
public class ResolveurBacktraceSimple implements Resolveur {
|
||||
|
||||
/**
|
||||
* Méthode permettant de résoudre un sudoku à partir des paramètres suivant :</br>
|
||||
* - S : Sudoku</br>
|
||||
* - afficherEtape : 0 ou 1
|
||||
* @param s
|
||||
* @param afficherEtape
|
||||
* @return
|
||||
* Méthode permettant de résoudre un sudoku en utilisant la méthode de backtracking
|
||||
* @param s : sudoku à résoudre
|
||||
* @param afficherEtape : afficher les étapes de la résolution
|
||||
* @return true si le sudoku est résolvable, false sinon
|
||||
*/
|
||||
@Override
|
||||
public boolean resoudre(Sudoku s, boolean afficherEtape) {
|
||||
@@ -24,6 +22,13 @@ public class ResolveurBacktraceSimple implements Resolveur {
|
||||
return solved;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode récursive permettant de résoudre un sudoku, utilisant la méthode de backtracking.
|
||||
* @param s : sudoku à résoudre
|
||||
* @param afficherEtape : afficher les étapes de la résolution
|
||||
* @param etat : état de la résolution
|
||||
* @return true si le sudoku est résolvable, false sinon
|
||||
*/
|
||||
private boolean resoudre(Sudoku s, boolean afficherEtape, EtatResolution etat) {
|
||||
Grille g = s.getGrille();
|
||||
List<Symbole> symboles = g.getSymbolesPossibles();
|
||||
@@ -55,24 +60,26 @@ public class ResolveurBacktraceSimple implements Resolveur {
|
||||
|
||||
/**
|
||||
* Méthode permettant d'afficher le sudoku à chaque étape de sa résolution
|
||||
* @param s
|
||||
* @param compteur
|
||||
* @param compteurGeneral
|
||||
* @param s : sudoku
|
||||
* @param compteur : compteur de l'étape en cours
|
||||
* @param compteurGeneral : compteur général de la résolution du sudoku (nombre total de tentatives)
|
||||
*/
|
||||
private void afficherEtapeResolution(Sudoku s, int compteur, int compteurGeneral) {
|
||||
System.out.println("Sudoku, Etape " + compteur + " (Tentative " + compteurGeneral + ")");
|
||||
System.out.println(s.getGrille().toString());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Classe interne permettant de stocker l'état de la résolution
|
||||
*/
|
||||
private static class EtatResolution {
|
||||
int compteur;
|
||||
int compteurGeneral;
|
||||
|
||||
/**
|
||||
* Méthode permettant de fixer l'état de la résolution
|
||||
* @param compteur
|
||||
* @param compteurGeneral
|
||||
* @param compteur : compteur de l'étape en cours
|
||||
* @param compteurGeneral : compteur général de la résolution du sudoku (nombre total de tentatives)
|
||||
*/
|
||||
EtatResolution(int compteur, int compteurGeneral) {
|
||||
this.compteur = compteur;
|
||||
|
||||
Reference in New Issue
Block a user