From 9f3c2db495b149f9a9ce0d4ed4982b5705597987 Mon Sep 17 00:00:00 2001 From: brigitte Date: Tue, 30 Apr 2024 12:56:06 +0200 Subject: [PATCH] ajout mesure temps pour esolution auto --- Sudoku/grille.java | 15 +++++++++------ Sudoku/grille/test.gri | Bin 0 -> 36 bytes Sudoku/menuProgramme1.java | 4 ++-- Sudoku/menuProgramme2.java | 10 ++++++++-- 4 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 Sudoku/grille/test.gri diff --git a/Sudoku/grille.java b/Sudoku/grille.java index 3b4ed78..14e3cc0 100644 --- a/Sudoku/grille.java +++ b/Sudoku/grille.java @@ -20,7 +20,7 @@ public class grille extends JComponent{ public static JPanel place_grille = new JPanel(); /*fonction pour afficher graphiquement la grille*/ - public static void AfficherGrille (int[][] grille, boolean editable) { + public static void AfficherGrille (int[][] grille, boolean editable, boolean resolutionManuel, long duree) { /*paramètre de base de la fenetre*/ JFrame fenetre = new JFrame(); fenetre.setSize(900, 950); @@ -113,16 +113,19 @@ public class grille extends JComponent{ if(editable){ - bouton_grille.add(etat_exportation); exporter = new JButton("exporter"); bouton_grille.add(exporter); place_grille.add(bouton_grille); }else{ - - verifier = new JButton("verifier"); - bouton_grille.add(verifier); - place_grille.add(bouton_grille); + if(resolutionManuel){ + verifier = new JButton("verifier"); + bouton_grille.add(verifier); + place_grille.add(bouton_grille); + }else { + JLabel texteTemps = new JLabel("Le programme a mit "+duree+" nanoSecondes pour resoudre la grille"); + bouton_grille.add(texteTemps); + } } fenetre.add(bouton_grille,BorderLayout.SOUTH); diff --git a/Sudoku/grille/test.gri b/Sudoku/grille/test.gri new file mode 100644 index 0000000000000000000000000000000000000000..3d022d2252dbb653295babf5c437886cd2ce36d5 GIT binary patch literal 36 XcmZQz00Oy|1`q`XoazUlEI0)KG3Npk literal 0 HcmV?d00001 diff --git a/Sudoku/menuProgramme1.java b/Sudoku/menuProgramme1.java index fce8ff8..2187893 100644 --- a/Sudoku/menuProgramme1.java +++ b/Sudoku/menuProgramme1.java @@ -82,7 +82,7 @@ public class menuProgramme1 { } fenetre.dispose(); - grille.AfficherGrille(grille_vide, true); + grille.AfficherGrille(grille_vide, true, false, 0); } }); @@ -93,7 +93,7 @@ public class menuProgramme1 { InfoLogiciel.setForeground(Color.RED); }else{ fenetre.dispose(); - grille.AfficherGrille(grille.ChargerGrille(cheminFichier), true); + grille.AfficherGrille(grille.ChargerGrille(cheminFichier), true, false, 0); } } }); diff --git a/Sudoku/menuProgramme2.java b/Sudoku/menuProgramme2.java index 8c146ba..f98b9a7 100644 --- a/Sudoku/menuProgramme2.java +++ b/Sudoku/menuProgramme2.java @@ -86,9 +86,15 @@ public class menuProgramme2 { if(cheminFichier != null){ if (ResolutionManuel == true) { fenetre.dispose(); - grille.AfficherGrille(grille.ChargerGrille(cheminFichier),false); + grille.AfficherGrille(grille.ChargerGrille(cheminFichier),false, true, 0); } else { - grille.AfficherGrille(resolveurGrille.resoudreGrille(grille.ChargerGrille(cheminFichier)),false); + fenetre.dispose(); + long debut = System.nanoTime(); + int[][] grille_resolue = new int[9][9]; + grille_resolue = resolveurGrille.resoudreGrille(grille.ChargerGrille(cheminFichier)); + long fin = System.nanoTime(); + long duree = fin - debut; + grille.AfficherGrille(grille_resolue,false, false, duree); } } else { InfoLogiciel.setText(" Info : Erreur : Veuillez selectionner un fichier .gri");