Message quand gagné
This commit is contained in:
parent
4cf7a8bb33
commit
c7615e77ad
15
Sudoku.java
15
Sudoku.java
@ -1,3 +1,5 @@
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
/**
|
||||
* La classe Sudoku représente un jeu de Sudoku avec une grille associée.
|
||||
* Elle fournit des méthodes pour interagir avec la grille, telles que le chargement à partir d'un fichier,
|
||||
@ -6,6 +8,7 @@
|
||||
public class Sudoku {
|
||||
private Grid grid;
|
||||
private boolean solved;
|
||||
private SudokuSolver solver;
|
||||
|
||||
/**
|
||||
* Constructeur par défaut. Initialise un Sudoku avec une grille vide et non résolue.
|
||||
@ -13,6 +16,7 @@ public class Sudoku {
|
||||
public Sudoku() {
|
||||
this.grid = new Grid();
|
||||
this.solved = false;
|
||||
this.solver = new SudokuSolver();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -46,6 +50,16 @@ public class Sudoku {
|
||||
public void loadGridFromFile(String fileName) {
|
||||
this.grid.loadGridFromFile(fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 !");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Imprime la grille de Sudoku sur la sortie standard.
|
||||
@ -60,5 +74,4 @@ public class Sudoku {
|
||||
System.out.println(); // Passer à la ligne suivante après chaque ligne de la grille
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -41,18 +41,19 @@ public class SudokuButtonListener implements ActionListener {
|
||||
if (input != null && input.length() > 0) {
|
||||
try {
|
||||
int num = Integer.parseInt(input);
|
||||
if (num >= 0 && num <= 9) { // Vérifie si le nombre est dans la plage autorisée
|
||||
if (num >= 0 && num <= 9) {
|
||||
sudoku.getGrid().getCell(row, col).setValue(num);
|
||||
if (num == 0) {
|
||||
buttons[row][col].setText(""); // Case vide si le nombre est 0
|
||||
buttons[row][col].setText("");
|
||||
} else {
|
||||
buttons[row][col].setText(String.valueOf(num));
|
||||
}
|
||||
if (!isValid(num, row, col)) {
|
||||
buttons[row][col].setForeground(Color.RED); // Met le texte en rouge en cas de mouvement invalide
|
||||
buttons[row][col].setForeground(Color.RED);
|
||||
} else {
|
||||
buttons[row][col].setForeground(Color.BLACK); // Réinitialise la couleur du texte
|
||||
buttons[row][col].setForeground(Color.BLACK);
|
||||
}
|
||||
sudoku.checkIfGridIsSolved(); // Vérifier si la grille est résolue après chaque ajout de nombre
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(null, "Veuillez entrer un nombre entre 0 et 9.");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user