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.