69 lines
2.9 KiB
Java
69 lines
2.9 KiB
Java
import javax.swing.*;
|
|
import java.awt.event.*;
|
|
/**
|
|
* La class Attente inclu un KeyListener, cette classe a pour objectif d'attendre une entré sur la touche espace du clavier
|
|
* pour regarder le parcours qu'emprunte l'algorithme
|
|
* @version 1.1
|
|
* @author Matthis Fauvet
|
|
*/
|
|
public class GestionChoixAlgo extends JFrame implements ActionListener {
|
|
private JFrame cetteFrame;
|
|
private ButtonGroup ceGroupe0;
|
|
private ButtonGroup ceGroupe1;
|
|
|
|
private int cetteTaille;
|
|
|
|
private JFrame frameGrille;
|
|
private boolean[][] cetteGrille;
|
|
private Cellules[][] cetteGrilleCell;
|
|
/**
|
|
* Class qui créer un objet Algo determinatif pour résoudre le Labyrinthe
|
|
* @param unPerso On rentre
|
|
* @param grille c'est la grille de true et false qui permet de savoir si une cellules est un mur ou un couloir
|
|
* @param coord tableau double dimension qui stock les différentes Cellules.
|
|
*/
|
|
public GestionChoixAlgo(int uneTaille, JFrame uneFrame, ButtonGroup group0, ButtonGroup group1, boolean[][] uneGrille, Cellules[][] grilleCell,JFrame uneFenetre){
|
|
this.cetteFrame = uneFrame;
|
|
this.ceGroupe0 = group0;
|
|
this.ceGroupe1 = group1;
|
|
|
|
this.cetteTaille = uneTaille;
|
|
|
|
this.frameGrille=uneFenetre;
|
|
this.cetteGrille = uneGrille;
|
|
this.cetteGrilleCell=grilleCell;
|
|
}
|
|
/**
|
|
* Class qui créer un objet Algo determinatif pour résoudre le Labyrinthe
|
|
* @param unPerso On rentre
|
|
* @param grille c'est la grille de true et false qui permet de savoir si une cellules est un mur ou un couloir
|
|
* @param coord tableau double dimension qui stock les différentes Cellules.
|
|
*/
|
|
public void actionPerformed(ActionEvent e){
|
|
this.cetteFrame.dispose();
|
|
if(this.ceGroupe0.getSelection().getActionCommand()=="Aalea" && this.ceGroupe1.getSelection().getActionCommand()=="Vauto")
|
|
{
|
|
this.frameGrille.dispose();
|
|
AlgoAlea algorithme = new AlgoAlea(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, null);
|
|
algorithme.auto();
|
|
}
|
|
else if(this.ceGroupe0.getSelection().getActionCommand()=="Adeter" && this.ceGroupe1.getSelection().getActionCommand()=="Vauto")
|
|
{
|
|
this.frameGrille.dispose();
|
|
AlgoDeter algorithme = new AlgoDeter(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, null);
|
|
algorithme.auto();
|
|
}
|
|
else if(this.ceGroupe0.getSelection().getActionCommand()=="Aalea" && this.ceGroupe1.getSelection().getActionCommand()=="Vman")
|
|
{
|
|
this.frameGrille.setLocation(500, 100);
|
|
AlgoAlea algorithme = new AlgoAlea(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, this.frameGrille);
|
|
algorithme.manuel();
|
|
}
|
|
else if(this.ceGroupe0.getSelection().getActionCommand()=="Adeter" && this.ceGroupe1.getSelection().getActionCommand()=="Vman")
|
|
{
|
|
this.frameGrille.setLocation(500, 100);
|
|
AlgoDeter algorithme = new AlgoDeter(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, null);
|
|
algorithme.manuel();
|
|
}
|
|
}
|
|
} |