SAE21_2022/Cellules.java

129 lines
4.4 KiB
Java
Raw Normal View History

import java.awt.Color;
import javax.swing.JComponent;
import java.awt.Graphics;
2023-04-28 20:29:09 +02:00
/**
* 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;
2023-04-28 20:36:53 +02:00
/**
* 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);
}
2023-04-28 20:36:53 +02:00
/**
* 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;
}
2023-04-28 20:36:53 +02:00
/**
* 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;
}
2023-04-28 20:36:53 +02:00
/**
* 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;
}
2023-04-28 20:36:53 +02:00
/**
* 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;
}
}
2023-04-28 20:36:53 +02:00
/**
* 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();
}
2023-04-28 20:36:53 +02:00
/**
* 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());
}
}