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.*; import java.io.*;
public class SudokuCreator extends SudokuUI { public class SudokuCreator extends SudokuUI {
private static int numberOfClues = 25; // Nombre de "clues" par défaut
public SudokuCreator(Sudoku sudoku) { public SudokuCreator(Sudoku sudoku) {
super(sudoku); super(sudoku);
@ -51,8 +52,19 @@ public class SudokuCreator extends SudokuUI {
generateButton.addActionListener(new ActionListener() { generateButton.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// Générer une nouvelle grille Sudoku // Demander à l'utilisateur combien de "clues" il souhaite spécifier
Grid newGrid = GenerateGrid.generateSudokuGrid(); 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 // Définir la nouvelle grille dans l'instance de Sudoku
sudoku.setGrid(newGrid); sudoku.setGrid(newGrid);
// Afficher la grille générée dans la console // Afficher la grille générée dans la console
@ -61,11 +73,13 @@ public class SudokuCreator extends SudokuUI {
updateGrid(); updateGrid();
} }
}); });
JPanel buttonPanel = new JPanel(); JPanel buttonPanel = new JPanel();
buttonPanel.add(generateButton, BorderLayout.EAST); buttonPanel.add(generateButton, BorderLayout.EAST);
add(buttonPanel, BorderLayout.EAST); add(buttonPanel, BorderLayout.EAST);
} }
private void createSaveButton() { private void createSaveButton() {
JButton saveButton = new JButton("Sauvegarder"); JButton saveButton = new JButton("Sauvegarder");
@ -102,5 +116,5 @@ public class SudokuCreator extends SudokuUI {
Sudoku sudoku = new Sudoku(); Sudoku sudoku = new Sudoku();
new SudokuCreator(sudoku); new SudokuCreator(sudoku);
} }
} }