SAE21_2022/GestionChoixAlgo.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();
}
}
}