ajout mesure temps pour esolution auto

This commit is contained in:
Wilfried BRIGITTE 2024-04-30 12:56:06 +02:00
parent abcfa7df63
commit 9f3c2db495
4 changed files with 19 additions and 10 deletions

View File

@ -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{
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);

BIN
Sudoku/grille/test.gri Normal file

Binary file not shown.

View File

@ -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);
}
}
});

View File

@ -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");