SAE21_2022/ModificationsTab.java

63 lines
2.9 KiB
Java
Raw Normal View History

import java.awt.event.MouseEvent;
2023-04-28 20:24:36 +02:00
/**
* Le principe de cette classe est de, sous certaines conditions, modifier le tableau de boolean afin d'ensuite modifier l'affichage graphique
2023-04-28 20:24:36 +02:00
* 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;
// -------------------------------------------------------------------------------------------------------------------------------------------------
2023-04-28 20:34:30 +02:00
/**
* Dans cette classe, on récupère la valeur de notre tableau en fontion de la ligne et de la colone de la cellule cliqué, ensuite, on modifie notre tableau de boolean
* en metant a true si false et inversement dans le but de changer les mur en couloir etc.
* @param panneauModification permet de transferrer cette interface afin de récupérer l'etat des radio boutons
* @param grilleTab c'est la grille de true et false
* @param unTab tableau simple qui contient les valeurs des entrés et des sorties
* @param unEvent permet de récupérer la grille cliqué
2023-04-28 20:34:30 +02:00
*/
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;
/* ========================================= */
2023-04-26 17:35:23 +02:00
boolean radio1Selected = this.cePanel.GetButtonBW().isSelected();
boolean radio2Selected = this.cePanel.GetButtonE().isSelected(); // ENTREE
boolean radio3Selected = this.cePanel.GetButtonS().isSelected(); //SORTIE
/* ========================================= */
2023-04-26 17:35:23 +02:00
//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;
2023-04-26 17:35:23 +02:00
} else {
if(notreCellule.getType()==Cellules.ENTREE || notreCellule.getType()==Cellules.SORTIE){
this.cetteGrille[this.cetteLigne][this.cetteColone] = Cellules.LIBRE;
2023-04-26 17:35:23 +02:00
} else if (radio1Selected==true) {
this.cetteGrille[this.cetteLigne][this.cetteColone] = Cellules.OCCUPE;
2023-04-26 17:35:23 +02:00
}
}
this.rafraichir = new Affichage(notreCellule, panneauModification, unTab, this.cetteGrille[this.cetteLigne][this.cetteColone]);
}
}