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()); } }