From e56d57b0455c09ae6b3e02952ab2a3d63ade4653 Mon Sep 17 00:00:00 2001 From: Vince <vi.teissier@gmail.com> Date: Mon, 6 May 2024 16:31:58 +0200 Subject: [PATCH] Fix du petit probleme d'affichage pour faciler vos tests ( et vos beaux yeux ) --- Grid.java | 16 ++++++++++++++++ Makefile | 6 +++--- Sudoku.java | 18 ++++++++++++++---- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/Grid.java b/Grid.java index eddebd2..ddc3715 100644 --- a/Grid.java +++ b/Grid.java @@ -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. */ diff --git a/Makefile b/Makefile index 6c443c8..240bb8a 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/Sudoku.java b/Sudoku.java index 6a867bb..dd3a4d1 100644 --- a/Sudoku.java +++ b/Sudoku.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.