Fix du petit probleme d'affichage pour faciler vos tests ( et vos beaux yeux )

This commit is contained in:
Vincent TEISSIER 2024-05-06 16:31:58 +02:00
parent 253f718c41
commit e56d57b045
3 changed files with 33 additions and 7 deletions

@ -88,6 +88,22 @@ public class Grid {
}
}
/**
* Vérifie si la grille est pleine (toutes les cellules sont remplies).
* @return True si la grille est pleine, False sinon.
*/
public boolean isFull() {
for (int row = 0; row < 9; row++) {
for (int col = 0; col < 9; col++) {
if (getCell(row, col).getValue() == 0) {
return false;
}
}
}
return true;
}
/**
* Affiche la grille de Sudoku dans la console.
*/

@ -4,11 +4,11 @@ JC = javac
JCFLAGS = -encoding UTF-8 -implicit:none
JVM = java
JVMFLAGS =
JVMFLAGS =
### REGLES ESSENTIELLES ###
SudokuCreator.class : SudokuCreator.java SudokuUI.class SudokuButtonListener.class Sudoku.class SudokuSolver.class GenerateGrid.class Grid.class Cell.class
SudokuCreator.class : SudokuCreator.java SudokuUI.class SudokuButtonListener.class Sudoku.class GenerateGrid.class Grid.class Cell.class
${JC} ${JCFLAGS} SudokuCreator.java
SudokuGame.class : SudokuGame.java SudokuUI.class SudokuButtonListener.class Sudoku.class SudokuSolver.class Grid.class Cell.class
@ -20,7 +20,7 @@ SudokuUI.class : SudokuUI.java Sudoku.class Sudoku.class Grid.class Cell.class
SudokuButtonListener.class : SudokuButtonListener.java Sudoku.class Grid.class Cell.class
${JC} ${JCFLAGS} SudokuButtonListener.java
Sudoku.class : Sudoku.java Grid.class
Sudoku.class : Sudoku.java Grid.class Cell.java
${JC} ${JCFLAGS} Sudoku.java
SudokuSolver.class : SudokuSolver.java Grid.class Cell.java

@ -55,11 +55,21 @@ public class Sudoku {
* Vérifie si la grille est résolue.
*/
public void checkIfGridIsSolved() {
this.solved = solver.solve(grid);
if (this.solved) {
JOptionPane.showMessageDialog(null, "Félicitations ! La grille est résolue !");
Grid grid = getGrid();
if (!grid.isFull()) {
return;
}
this.solved = solver.solve(grid);
if (this.solved) {
JOptionPane.showMessageDialog(null, "Félicitations ! Vous avez résolu la grille avec succès !");
} else {
JOptionPane.showMessageDialog(null, "Désolé, la grille est complète mais la solution n'est pas correcte.");
}
}
}
/**
* Imprime la grille de Sudoku sur la sortie standard.