2023-04-18 12:29:43 +02:00
import java.awt.* ;
public class FenetreImpGrille extends Fenetre {
2023-04-23 23:34:51 +02:00
private boolean [ ] [ ] grille ;
2023-04-27 21:19:45 +02:00
private Cellules [ ] [ ] grilleCell ;
2023-04-18 12:29:43 +02:00
2023-04-19 19:13:00 +02:00
public FenetreImpGrille ( ) {
2023-04-18 12:29:43 +02:00
super ( ) ;
}
2023-04-26 10:54:36 +02:00
public void ImporterGrille ( int taille , int Lentre , int Centre , int Lortie , int Cortie , int [ ] tabGrille ) {
2023-04-18 12:29:43 +02:00
/* ================================================================ Déclaration des variables ============================================================================= */
2023-04-23 23:34:51 +02:00
int [ ] [ ] ce_double_tab = new int [ taille ] [ taille ] ;
this . grille = new boolean [ taille ] [ taille ] ;
2023-04-27 21:19:45 +02:00
this . grilleCell = new Cellules [ taille ] [ taille ] ;
2023-04-26 10:54:36 +02:00
//System.out.println("LA TAILLE DE LA GRRILLE VAUT : "+tabGrille.length);
2023-04-18 12:29:43 +02:00
2023-04-23 23:34:51 +02:00
/* =============================================================== Gestion des paramètres de la fenètre ========================================================================== */
2023-04-18 12:29:43 +02:00
/*Création de la fenètre */
this . fenetre . setSize ( 600 , 600 ) ;
2023-04-28 19:17:35 +02:00
this . fenetre . setLocation ( 300 , 150 ) ;
2023-04-18 12:29:43 +02:00
/*Mise en place du grid layout */
2023-04-23 23:34:51 +02:00
GridLayout gestionnaire = new GridLayout ( taille , taille ) ;
2023-04-18 12:29:43 +02:00
this . fenetre . setLayout ( gestionnaire ) ;
/* ================================================================================================================================================================ */
/* remplissage du tab 1 */
2023-04-26 10:54:36 +02:00
int compteur = 0 ;
2023-04-23 23:34:51 +02:00
for ( int i = 0 ; i < taille ; i + + ) {
for ( int j = 0 ; j < taille ; j + + ) {
2023-04-26 10:54:36 +02:00
ce_double_tab [ j ] [ i ] = tabGrille [ compteur ] ;
2023-04-18 12:29:43 +02:00
compteur + + ;
}
}
/* ======================================================================================================================================= */
// Gestion du remplissage des case
2023-04-23 23:34:51 +02:00
for ( int i = 0 ; i < taille ; i + + ) {
for ( int j = 0 ; j < taille ; j + + ) {
2023-04-18 12:29:43 +02:00
2023-04-23 23:34:51 +02:00
if ( ce_double_tab [ i ] [ j ] = = 0 ) {
this . grille [ i ] [ j ] = false ;
} else {
this . grille [ i ] [ j ] = true ;
}
2023-04-18 12:29:43 +02:00
2023-04-23 23:34:51 +02:00
if ( ( i * taille + j ) = = ( Lentre * taille + Centre ) ) {
2023-04-26 21:36:06 +02:00
Cellules cellules = new Cellules ( i , j , Cellules . ENTREE ) ;
2023-04-27 21:19:45 +02:00
this . grilleCell [ i ] [ j ] = cellules ;
2023-04-23 23:34:51 +02:00
this . fenetre . add ( cellules ) ;
} else if ( ( i * taille + j ) = = ( Lortie * taille + Cortie ) ) {
2023-04-26 21:36:06 +02:00
Cellules cellules = new Cellules ( i , j , Cellules . SORTIE ) ;
2023-04-27 21:19:45 +02:00
this . grilleCell [ i ] [ j ] = cellules ;
2023-04-23 23:34:51 +02:00
this . fenetre . add ( cellules ) ;
2023-04-18 12:29:43 +02:00
} else if ( ce_double_tab [ i ] [ j ] = = 1 ) {
2023-04-26 21:36:06 +02:00
Cellules cellules = new Cellules ( i , j , Cellules . MUR ) ;
2023-04-27 21:19:45 +02:00
this . grilleCell [ i ] [ j ] = cellules ;
2023-04-23 23:34:51 +02:00
this . fenetre . add ( cellules ) ;
2023-04-18 12:29:43 +02:00
} else {
2023-04-26 21:36:06 +02:00
Cellules cellules = new Cellules ( i , j , Cellules . COULOIR ) ;
2023-04-27 21:19:45 +02:00
this . grilleCell [ i ] [ j ] = cellules ;
2023-04-23 23:34:51 +02:00
this . fenetre . add ( cellules ) ;
2023-04-18 12:29:43 +02:00
}
}
}
this . fenetre . setVisible ( true ) ;
2023-04-27 21:19:45 +02:00
ChoixAlgo Suite = new ChoixAlgo ( taille , this . fenetre , this . grille , this . grilleCell ) ;
Suite . setUp ( ) ;
2023-04-18 12:29:43 +02:00
}
}