From 8724af45814c43c12e275ac67ae34fafcac053d4 Mon Sep 17 00:00:00 2001 From: brigitte Date: Mon, 29 Apr 2024 19:15:12 +0200 Subject: [PATCH] verifiaction si grille fini + ajout grille presque fini pour les tests --- Sudoku/grille.java | 28 +++++++++++++++++++--------- Sudoku/grille/exemplePresqueFini.gri | 1 + 2 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 Sudoku/grille/exemplePresqueFini.gri diff --git a/Sudoku/grille.java b/Sudoku/grille.java index 128198c..a0e2a0d 100644 --- a/Sudoku/grille.java +++ b/Sudoku/grille.java @@ -12,6 +12,9 @@ public class grille extends JComponent{ /*tableau de valeurs de la grille de sudoku*/ public static int[][] grid_values = null; + /*Panneau pour la grille */ + public static JPanel place_grille = new JPanel(); + /*fonction pour afficher graphiquement la grille*/ public static void AfficherGrille (int[][] grille, boolean editable) { /*paramètre de base de la fenetre*/ @@ -20,8 +23,7 @@ public class grille extends JComponent{ /*fenetre.setResizable(false);*/ fenetre.setLocationRelativeTo(null); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - /*Panneau pour la grille */ - JPanel place_grille = new JPanel(); + place_grille.setSize(900,900); /*creation grille*/ @@ -125,7 +127,7 @@ public class grille extends JComponent{ if (verifier != null) { /* Vérification pour s'assurer que verifier a été initialisé */ verifier.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent verifier) { - + VerificationGrilleFini(); } }); } @@ -135,20 +137,18 @@ public class grille extends JComponent{ public void actionPerformed(ActionEvent exporter) { for (int i=0; i < 9; i++){ for (int j=0; j < 9; j++){ - System.out.print(GrilleActuelle(place_grille)[i][j]); + System.out.print(GrilleActuelle()[i][j]); } System.out.println(""); } - if (!(resolveurGrille.resoudreSudoku(GrilleActuelle(place_grille)))){ + if (!(resolveurGrille.resoudreSudoku(GrilleActuelle()))){ etat_exportation.setHorizontalAlignment(SwingConstants.LEFT); etat_exportation.setText("Sudoku Impossible."); etat_exportation.setForeground(Color.RED); - System.out.println(1); } else { - ExporterGrille(GrilleActuelle(place_grille)); + ExporterGrille(GrilleActuelle()); etat_exportation.setText(""); - System.out.println(2); } } }); @@ -227,7 +227,7 @@ public class grille extends JComponent{ } } - public static int[][] GrilleActuelle(JPanel place_grille){ + public static int[][] GrilleActuelle(){ int[][] grilleActuelle = new int[9][9]; for (Component comp : place_grille.getComponents()) { @@ -246,4 +246,14 @@ public class grille extends JComponent{ return grilleActuelle; } + + public static void VerificationGrilleFini(){ + int[][] soluce_de_la_grille = new int[9][9]; + soluce_de_la_grille = resolveurGrille.resoudreGrille(grid_values); + if(soluce_de_la_grille != GrilleActuelle()){ + System.out.println("La grille n'est pas résolue"); + } + + System.out.println("La grille est resolue !!!"); + } } \ No newline at end of file diff --git a/Sudoku/grille/exemplePresqueFini.gri b/Sudoku/grille/exemplePresqueFini.gri new file mode 100644 index 0000000..95de3a5 --- /dev/null +++ b/Sudoku/grille/exemplePresqueFini.gri @@ -0,0 +1 @@ +-q<¦­‘ø5T^u:0&Éœ¼×©÷l^‘)/a ¼), \ No newline at end of file