Ajout de la question pour résoudre en automatique ou manuel
This commit is contained in:
parent
7416cba48f
commit
6bb86f61fe
BIN
Cell.class
Normal file
BIN
Cell.class
Normal file
Binary file not shown.
BIN
GenerateGrid.class
Normal file
BIN
GenerateGrid.class
Normal file
Binary file not shown.
BIN
Grid.class
Normal file
BIN
Grid.class
Normal file
Binary file not shown.
BIN
Sudoku.class
Normal file
BIN
Sudoku.class
Normal file
Binary file not shown.
BIN
SudokuButtonListener.class
Normal file
BIN
SudokuButtonListener.class
Normal file
Binary file not shown.
BIN
SudokuCreator$1.class
Normal file
BIN
SudokuCreator$1.class
Normal file
Binary file not shown.
BIN
SudokuCreator$2.class
Normal file
BIN
SudokuCreator$2.class
Normal file
Binary file not shown.
BIN
SudokuCreator$3.class
Normal file
BIN
SudokuCreator$3.class
Normal file
Binary file not shown.
BIN
SudokuCreator.class
Normal file
BIN
SudokuCreator.class
Normal file
Binary file not shown.
BIN
SudokuGame$1.class
Normal file
BIN
SudokuGame$1.class
Normal file
Binary file not shown.
BIN
SudokuGame$2.class
Normal file
BIN
SudokuGame$2.class
Normal file
Binary file not shown.
BIN
SudokuGame.class
Normal file
BIN
SudokuGame.class
Normal file
Binary file not shown.
@ -5,43 +5,38 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* La classe SudokuGame étend la classe SudokuUI et représente une application de jeu de Sudoku avec des fonctionnalités supplémentaires telles que le chargement de grilles et la résolution automatique.
|
||||
*/
|
||||
public class SudokuGame extends SudokuUI {
|
||||
|
||||
/**
|
||||
* Constructeur de la classe SudokuGame.
|
||||
*
|
||||
* @param sudoku La grille de Sudoku à utiliser pour le jeu.
|
||||
*/
|
||||
public SudokuGame(Sudoku sudoku) {
|
||||
super(sudoku);
|
||||
createAdditionalButtons();
|
||||
|
||||
// Demander à l'utilisateur s'il veut jouer manuellement ou résoudre automatiquement
|
||||
int option = JOptionPane.showOptionDialog(null, "Voulez-vous jouer manuellement ou résoudre automatiquement la grille de Sudoku ?", "Choix du mode", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[]{"Manuel", "Automatique"}, "Manuel");
|
||||
|
||||
// Activer ou désactiver les fonctionnalités en fonction du choix de l'utilisateur
|
||||
if (option == JOptionPane.YES_OPTION) { // Manuel
|
||||
createManualButtons();
|
||||
} else if (option == JOptionPane.NO_OPTION) { // Automatique
|
||||
createAutoButtons();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour obtenir le texte du titre de l'interface utilisateur.
|
||||
*
|
||||
* @return Le texte du titre.
|
||||
*/
|
||||
@Override
|
||||
protected String getTitleText() {
|
||||
return "Sudoku Game";
|
||||
return "Sudoku Game"; // Texte du titre pour le jeu Sudoku
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour créer les boutons de chargement et de résolution et redimensionner la fenêtre.
|
||||
*/
|
||||
protected void createAdditionalButtons() {
|
||||
protected void createManualButtons() {
|
||||
createLoadButton();
|
||||
pack(); // Redimensionner la fenêtre pour s'adapter aux nouveaux boutons
|
||||
}
|
||||
|
||||
private void createAutoButtons() {
|
||||
createLoadButton();
|
||||
createSolveButton();
|
||||
pack(); // Redimensionner la fenêtre pour s'adapter aux nouveaux boutons
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour créer le bouton de résolution.
|
||||
*/
|
||||
private void createSolveButton() {
|
||||
JButton solveButton = new JButton("Résoudre (Automatique)");
|
||||
solveButton.addActionListener(new ActionListener() {
|
||||
@ -75,9 +70,6 @@ public class SudokuGame extends SudokuUI {
|
||||
add(buttonPanel, BorderLayout.SOUTH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour créer le bouton de chargement.
|
||||
*/
|
||||
private void createLoadButton() {
|
||||
JButton loadButton = new JButton("Charger");
|
||||
loadButton.addActionListener(new ActionListener() {
|
||||
@ -100,9 +92,6 @@ public class SudokuGame extends SudokuUI {
|
||||
add(buttonPanel, BorderLayout.NORTH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour mettre à jour les valeurs des boutons de la grille après un chargement ou une résolution.
|
||||
*/
|
||||
private void updateGrid() {
|
||||
Grid grid = sudoku.getGrid();
|
||||
for (int row = 0; row < 9; row++) {
|
||||
@ -114,10 +103,6 @@ public class SudokuGame extends SudokuUI {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour vérifier si la grille est complètement remplie et si la solution est correcte.
|
||||
* Affiche une alerte si la grille est résolue correctement.
|
||||
*/
|
||||
private void checkGameCompletion() {
|
||||
Grid grid = sudoku.getGrid();
|
||||
boolean isFull = true;
|
||||
@ -139,25 +124,11 @@ public class SudokuGame extends SudokuUI {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie si le placement d'un nombre dans une cellule est sûr.
|
||||
*
|
||||
* @param grid La grille de Sudoku.
|
||||
* @param row L'indice de ligne de la cellule.
|
||||
* @param col L'indice de colonne de la cellule.
|
||||
* @param num Le nombre à vérifier.
|
||||
* @return True si le placement est sûr, False sinon.
|
||||
*/
|
||||
private boolean isValidMove(Grid grid, int row, int col, int num) {
|
||||
// Votre logique de validation ici
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode principale pour démarrer le jeu de Sudoku.
|
||||
*
|
||||
* @param args Les arguments de la ligne de commande (non utilisés).
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
Sudoku sudoku = new Sudoku();
|
||||
new SudokuGame(sudoku);
|
||||
|
BIN
SudokuSolver.class
Normal file
BIN
SudokuSolver.class
Normal file
Binary file not shown.
BIN
SudokuUI.class
Normal file
BIN
SudokuUI.class
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user