Projet_JAVA_PMT_STRI1A/JAVA/PROJET-PMT_STRI1A/src/labyrinthe/Salle.java

68 lines
1.6 KiB
Java

package labyrinthe;
import java.util.ArrayList;
import java.util.List;
import javafx.util.Pair;
public class Salle {
private Pair<Integer,Integer> coordonnees;
private boolean sortie;
private List<Integer> listePorte= new ArrayList<Integer>();
private List<Integer> listeEnnemie= new ArrayList<Integer>(); //indice de monstre
public Salle(int x, int y, boolean out) {
this.listeEnnemie=new ArrayList<Integer>();
this.coordonnees=new Pair<Integer,Integer>(x,y);
this.sortie=out;
}
public Salle(int positionX, int positionY, boolean sortie, List<Integer> listeEnnemie) {
this.coordonnees=new Pair<Integer,Integer>(positionX,positionY);
this.sortie = sortie;
this.listeEnnemie = listeEnnemie;
}
public String getType(){
return "salle";
}
public Pair<Integer,Integer> getCoordonnes() {
return this.coordonnees;
}
public boolean estSortie() {
return sortie;
}
public List<Integer> getListePorte() {
return this.listePorte;
}
public List<Integer> getListeEnnemie() {
return listeEnnemie;
}
public boolean equals(Object o) {
return (this.coordonnees.getKey()==((Salle)o).getCoordonnes().getKey() && this.coordonnees.getValue() ==((Salle)o).getCoordonnes().getValue());
}
public void cle(Labyrinthe lab) {
for (int i : listePorte ) lab.listePorte.get(i).ouverture();
}
public boolean estVide() {
return (listeEnnemie.size()==0);
}
public Salle findNextSalle(Pair<Integer,Integer> coordonnes,Labyrinthe lab) {
for (int porte : listePorte) {
if (lab.listePorte.get(porte).prochainSaut(this).coordonnees.equals(coordonnes)) return lab.listePorte.get(porte).prochainSaut(this);
}
return null;
}
}