71 lines
2.7 KiB
Java
71 lines
2.7 KiB
Java
/**
|
|
* Class pour modifier l'affichage
|
|
* @version 1.1
|
|
* @author Matthis Fauvet
|
|
*/
|
|
|
|
public class Affichage {
|
|
private Cellules cetteCellules;
|
|
private PanneauModification cePanel;
|
|
|
|
private boolean cetEtat;
|
|
|
|
private int[] caseEntrortie;
|
|
|
|
/** Constructeur de la class affichage
|
|
* @param uneCellules premet de récupérer la cellules a afficher
|
|
* @param unPanel panneau de modification pour récupérer les valeurs demandés
|
|
* @param tabEntre tableau qui permet de savoir si un entré est déjà placé
|
|
* @param unEtat variable qui permet de savoir si un case est un mu ou un couloir
|
|
*/
|
|
public Affichage(Cellules uneCellules, PanneauModification unPanel, int[] tabEntre, boolean unEtat){
|
|
//permet la distribution des différents attributs
|
|
this.cetteCellules = uneCellules;
|
|
this.cePanel = unPanel;
|
|
this.cetEtat = unEtat;
|
|
this.caseEntrortie = tabEntre;
|
|
|
|
repaint();
|
|
}
|
|
|
|
/**
|
|
* Renvoie l'etat des cellules entre et sortie, si oui ou non elles sont posé ou pas
|
|
*/
|
|
public int[] getGateState(){
|
|
return this.caseEntrortie;
|
|
}
|
|
|
|
/**
|
|
* La fonctions repaint permet de changer les Cellules pour leur mettres leurs bonne couleurs.
|
|
*/
|
|
public void repaint(){
|
|
// Accéder aux boutons radios de l'objet Options
|
|
boolean radio1Selected = this.cePanel.GetButtonBW().isSelected(); // MUR / COULOIR
|
|
boolean radio2Selected = this.cePanel.GetButtonE().isSelected(); // ENTREE
|
|
boolean radio3Selected = this.cePanel.GetButtonS().isSelected(); //SORTIE
|
|
|
|
if(radio2Selected==true && this.caseEntrortie[0]==0){
|
|
this.cetEtat=Cellules.LIBRE;
|
|
this.cetteCellules.setType(Cellules.ENTREE);
|
|
this.cetteCellules.peindre(Cellules.ENTREE);
|
|
this.caseEntrortie[0]=1;
|
|
} else if(radio3Selected==true && this.caseEntrortie[1]==0){
|
|
this.cetEtat=Cellules.LIBRE;
|
|
this.cetteCellules.setType(Cellules.SORTIE);
|
|
this.cetteCellules.peindre(Cellules.SORTIE);
|
|
this.caseEntrortie[1]=1;
|
|
} else if(this.cetEtat == Cellules.LIBRE && radio1Selected==true){
|
|
if(this.cetteCellules.getType()==Cellules.ENTREE){
|
|
this.caseEntrortie[0]=0;
|
|
} else if(this.cetteCellules.getType()==Cellules.SORTIE){
|
|
this.caseEntrortie[1]=0;
|
|
}
|
|
this.cetteCellules.setType(Cellules.COULOIR);
|
|
this.cetteCellules.peindre(Cellules.COULOIR);
|
|
} else if(this.cetEtat == Cellules.OCCUPE && radio1Selected==true){
|
|
this.cetteCellules.setType(Cellules.MUR);
|
|
this.cetteCellules.peindre(Cellules.MUR);
|
|
}
|
|
}
|
|
}
|