SAE21_2022/FenetreVideGrille.java

66 lines
2.4 KiB
Java
Raw Normal View History

import java.awt.*;
2023-04-28 20:26:26 +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 FenetreVideGrille extends Fenetre{
private int taille;
2023-04-18 18:38:32 +02:00
private int[] tabCouleur;
private boolean[][] grille;
private Cellules[][] grilleCellules;
private Modifications modif;
2023-04-28 20:37:41 +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 FenetreVideGrille(int taille){
super();
this.taille = taille;
this.grille = new boolean[this.taille][this.taille];
this.grilleCellules = new Cellules[this.taille][this.taille];
this.tabCouleur = new int[] {0, 0};
}
2023-04-28 20:37:41 +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 videGrille(){
this.fenetre.setSize(600, 600);
2023-04-28 19:17:35 +02:00
this.fenetre.setLocation(300, 150);
GridLayout gestionnaire = new GridLayout(this.taille,this.taille);
this.fenetre.setLayout(gestionnaire);
2023-04-18 18:38:32 +02:00
PanneauModification interfacePanel = new PanneauModification(this.grille, this.taille, this.grilleCellules, this.fenetre);
interfacePanel.SetUp();
/* ======= Valeurs aléatoire pour l'entre et la sortie ========== */
for(int i=0; i<taille; i++){
for(int j=0; j<taille; j++){
2023-04-28 19:17:35 +02:00
grille[i][j] = Cellules.LIBRE;
this.modif = new Modifications(interfacePanel, grille,this.tabCouleur);
Cellules cellules = new Cellules(i,j, Cellules.COULOIR);
this.fenetre.add(cellules);
cellules.addMouseListener(modif);
grilleCellules[i][j] = cellules;
this.tabCouleur = modif.getGateState();
}
}
this.fenetre.setVisible(true);
2023-04-18 18:38:32 +02:00
}
}