Choisir le nombre de clues ( SudokuCreator )

This commit is contained in:
David AKAGUNDUZ 2024-05-05 13:28:56 +02:00
parent 186539e34c
commit 4d6261bcab

@ -6,6 +6,7 @@ import java.awt.event.ActionListener;
import java.io.*;
public class SudokuCreator extends SudokuUI {
private static int numberOfClues = 25; // Nombre de "clues" par défaut
public SudokuCreator(Sudoku sudoku) {
super(sudoku);
@ -51,8 +52,19 @@ public class SudokuCreator extends SudokuUI {
generateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Générer une nouvelle grille Sudoku
Grid newGrid = GenerateGrid.generateSudokuGrid();
// Demander à l'utilisateur combien de "clues" il souhaite spécifier
String input = JOptionPane.showInputDialog(null, "Entrez le nombre de clues :");
try {
// Convertir l'entrée en entier
numberOfClues = Integer.parseInt(input);
} catch (NumberFormatException ex) {
// Gérer les cas l'utilisateur entre un texte non numérique
JOptionPane.showMessageDialog(null, "Veuillez entrer un nombre valide.", "Erreur", JOptionPane.ERROR_MESSAGE);
return; // Sortir de la méthode si l'entrée n'est pas un nombre valide
}
// Générer une nouvelle grille Sudoku avec le nombre de "clues" spécifié
Grid newGrid = GenerateGrid.generateSudokuGrid(numberOfClues);
// Définir la nouvelle grille dans l'instance de Sudoku
sudoku.setGrid(newGrid);
// Afficher la grille générée dans la console
@ -61,11 +73,13 @@ public class SudokuCreator extends SudokuUI {
updateGrid();
}
});
JPanel buttonPanel = new JPanel();
buttonPanel.add(generateButton, BorderLayout.EAST);
add(buttonPanel, BorderLayout.EAST);
}
private void createSaveButton() {
JButton saveButton = new JButton("Sauvegarder");
@ -102,5 +116,5 @@ public class SudokuCreator extends SudokuUI {
Sudoku sudoku = new Sudoku();
new SudokuCreator(sudoku);
}
}
}