refactor: fix warnings
This commit is contained in:
@@ -65,18 +65,17 @@ public class Grille {
|
||||
if (symbole != null && !symbolesPossibles.contains(symbole)) {
|
||||
throw new IllegalArgumentException("Symbole non autorisé : " + symbole);
|
||||
}
|
||||
// Sauvegarder l'ancien symbole
|
||||
Symbole ancienSymbole = cases[ligne][colonne].getSymbole();
|
||||
|
||||
// Affecter le nouveau symbole
|
||||
cases[ligne][colonne].setSymbole(symbole);
|
||||
Case currentCase = cases[ligne][colonne];
|
||||
Symbole ancienSymbole = currentCase.getSymbole();
|
||||
currentCase.setSymbole(symbole);
|
||||
|
||||
// Vérifier les contraintes
|
||||
if (!sudoku.verifierToutesContraintes()) {
|
||||
// Revenir sur le changement
|
||||
cases[ligne][colonne].setSymbole(ancienSymbole);
|
||||
throw new IllegalArgumentException("SET CASE: Les contraintes ne sont pas respectées pour la case ("
|
||||
+ ligne + ", " + colonne + ")");
|
||||
// Verify constraints including shared cases
|
||||
if (!sudoku.verifierToutesContraintes() ||
|
||||
(multidoku != null && !multidoku.verifierContraintesPartagees())) {
|
||||
currentCase.setSymbole(ancienSymbole);
|
||||
throw new IllegalArgumentException(
|
||||
"Les contraintes ne sont pas respectées pour la case (" + ligne + ", " + colonne + ")");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Console.errorln(e.getMessage());
|
||||
|
||||
@@ -3,12 +3,10 @@ package sudoku;
|
||||
import java.util.*;
|
||||
|
||||
public class Multidoku {
|
||||
private List<Sudoku> sudokus;
|
||||
private List<SudokuPlacement> placements = new ArrayList<>();
|
||||
private List<ContrainteCasePartagee> contraintesPartagees;
|
||||
|
||||
public Multidoku() {
|
||||
this.sudokus = new ArrayList<>();
|
||||
this.contraintesPartagees = new ArrayList<>();
|
||||
}
|
||||
|
||||
@@ -219,12 +217,10 @@ public class Multidoku {
|
||||
public class ContrainteCasePartagee implements Contrainte {
|
||||
private Map<Case, Case> casesLiees; // Map associant chaque case à sa correspondante
|
||||
private Set<Sudoku> sudokusLies;
|
||||
private Multidoku multidoku;
|
||||
|
||||
public ContrainteCasePartagee(List<Case> cases, Multidoku multidoku) {
|
||||
this.casesLiees = new HashMap<>();
|
||||
this.sudokusLies = new HashSet<>();
|
||||
this.multidoku = multidoku;
|
||||
|
||||
// Les cases sont données dans l'ordre : d'abord celles du premier sudoku,
|
||||
// puis celles du second dans le même ordre
|
||||
|
||||
@@ -4,12 +4,6 @@ import java.util.List;
|
||||
|
||||
public class ResolveurBacktraceSimple implements Resolveur {
|
||||
|
||||
private final Sudoku sudoku;
|
||||
|
||||
public ResolveurBacktraceSimple(Sudoku sudoku) {
|
||||
this.sudoku = sudoku;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean resoudre(Sudoku s, boolean afficherEtape) {
|
||||
EtatResolution etat = new EtatResolution(0, 0);
|
||||
|
||||
@@ -136,7 +136,7 @@ public class Sudoku {
|
||||
}
|
||||
|
||||
private void resolutionSudoku(Sudoku sudoku, boolean afficherEtape) {
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple();
|
||||
resolveur.resoudre(sudoku, afficherEtape);
|
||||
System.out.println("Sudoku résolu :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
@@ -59,7 +59,7 @@ public class AppTest {
|
||||
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
Resolveur resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
Resolveur resolveur = new ResolveurBacktraceSimple();
|
||||
resolveur.resoudre(sudoku, false);
|
||||
System.out.println("Sudoku résolu :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
@@ -58,7 +58,7 @@ public class TestBlocParticuliers {
|
||||
System.out.println("Symboles possibles :");
|
||||
sudoku.getGrille().printSymbolesPossibles();
|
||||
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple();
|
||||
resolveur.resoudre(sudoku, true);
|
||||
|
||||
System.out.println("Sudoku résolu :");
|
||||
|
||||
@@ -48,7 +48,7 @@ public class TestResolveurBacktraceSimpleSudoku9 {
|
||||
System.out.println("Symboles possibles :");
|
||||
sudoku.getGrille().printSymbolesPossibles();
|
||||
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku);
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple();
|
||||
resolveur.resoudre(sudoku, false);
|
||||
System.out.println("Sudoku resolu :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
Reference in New Issue
Block a user