70 lines
3.0 KiB
Java
70 lines
3.0 KiB
Java
import java.awt.event.MouseEvent;
|
|
/**
|
|
* 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 ModificationsTab {
|
|
|
|
private boolean[][] cetteGrille;
|
|
private MouseEvent cetEvent;
|
|
private int[] tabEtat;
|
|
|
|
private int cetteLigne;
|
|
private int cetteColone;
|
|
private Affichage rafraichir;
|
|
private PanneauModification cePanel;
|
|
|
|
// -------------------------------------------------------------------------------------------------------------------------------------------------
|
|
/**
|
|
* 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 ModificationsTab(PanneauModification panneauModification, boolean[][] grilleTab, int[] unTab, MouseEvent unEvent){
|
|
this.cetteGrille = grilleTab;
|
|
this.cetEvent = unEvent;
|
|
|
|
this.cePanel = panneauModification;
|
|
|
|
Cellules notreCellule = (Cellules) cetEvent.getSource();
|
|
this.cetteLigne = notreCellule.getLigne();
|
|
this.cetteColone = notreCellule.getColone();
|
|
|
|
this.tabEtat = unTab;
|
|
|
|
/* ========================================= */
|
|
|
|
boolean radio1Selected = this.cePanel.GetButtonBW().isSelected();
|
|
boolean radio2Selected = this.cePanel.GetButtonE().isSelected(); // ENTREE
|
|
boolean radio3Selected = this.cePanel.GetButtonS().isSelected(); //SORTIE
|
|
|
|
/* ========================================= */
|
|
|
|
//System.out.println("Etat de la case avant cliqué : "+this.cetteGrille[this.cetteLigne][this.cetteColone]);
|
|
if(this.cetteGrille[this.cetteLigne][this.cetteColone] == Cellules.OCCUPE){
|
|
this.cetteGrille[this.cetteLigne][this.cetteColone] = Cellules.LIBRE;
|
|
} else {
|
|
if(notreCellule.getType()==Cellules.ENTREE || notreCellule.getType()==Cellules.SORTIE){
|
|
this.cetteGrille[this.cetteLigne][this.cetteColone] = Cellules.LIBRE;
|
|
} else if (radio1Selected==true) {
|
|
this.cetteGrille[this.cetteLigne][this.cetteColone] = Cellules.OCCUPE;
|
|
}
|
|
}
|
|
|
|
this.rafraichir = new Affichage(notreCellule, panneauModification, unTab, this.cetteGrille[this.cetteLigne][this.cetteColone]);
|
|
}
|
|
/**
|
|
* 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 int[] getGateState(){
|
|
this.tabEtat = this.rafraichir.getGateState();
|
|
return this.tabEtat;
|
|
}
|
|
}
|