129 lines
4.4 KiB
Java
129 lines
4.4 KiB
Java
import java.awt.Color;
|
|
import javax.swing.JComponent;
|
|
import java.awt.Graphics;
|
|
/**
|
|
* 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 Cellules extends JComponent{
|
|
public static final int COULOIR=0;
|
|
public static final int MUR=1;
|
|
public static final int ENTREE=2;
|
|
public static final int SORTIE=3;
|
|
|
|
public static final int DESSUS=10;
|
|
public static final int VUE=11;
|
|
|
|
public static final boolean LIBRE = false;
|
|
public static final boolean OCCUPE = true;
|
|
|
|
private Color backgroundColor;
|
|
|
|
private int cetteLigne;
|
|
private int cetteColone;
|
|
private int ceType;
|
|
|
|
/**
|
|
* 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 Cellules(int uneLigne, int uneColone, int type){
|
|
super();
|
|
this.cetteLigne=uneLigne;
|
|
this.cetteColone=uneColone;
|
|
|
|
this.ceType = type;
|
|
|
|
peindre(ceType);
|
|
}
|
|
|
|
/**
|
|
* 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 getLigne(){
|
|
return this.cetteLigne;
|
|
}
|
|
|
|
/**
|
|
* 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 getColone(){
|
|
return 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 getType(){
|
|
return this.ceType;
|
|
}
|
|
|
|
/**
|
|
* 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 setType(int newType){
|
|
if(newType==COULOIR){
|
|
this.ceType = COULOIR;
|
|
} else if(newType==MUR){
|
|
this.ceType = MUR;
|
|
} else if(newType==ENTREE){
|
|
this.ceType = ENTREE;
|
|
} else if(newType==SORTIE){
|
|
this.ceType = SORTIE;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 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 peindre(int peinture){
|
|
if(peinture==COULOIR){
|
|
backgroundColor = Color.WHITE;
|
|
} else if(peinture==MUR){
|
|
backgroundColor = Color.BLACK;
|
|
} else if(peinture==ENTREE){
|
|
backgroundColor = Color.BLUE;
|
|
} else if(peinture==SORTIE){
|
|
backgroundColor = Color.RED;
|
|
} else if(peinture==VUE){
|
|
backgroundColor = Color.YELLOW;
|
|
} else if(peinture==DESSUS){
|
|
backgroundColor = Color.ORANGE;
|
|
}
|
|
|
|
repaint();
|
|
}
|
|
|
|
/**
|
|
* 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.
|
|
*/
|
|
@Override
|
|
protected void paintComponent(Graphics g) {
|
|
super.paintComponent(g);
|
|
|
|
g.setColor(backgroundColor);
|
|
g.fillRect(0, 0, getWidth(), getHeight());
|
|
}
|
|
} |