Ajout de la réaction en chaine quand une case est révélée
This commit is contained in:
+21
-2
@@ -16,7 +16,7 @@ public class FenetreJeu {
|
||||
int c = grille.getColonne();
|
||||
|
||||
fenetre = new JFrame("Demineur");
|
||||
fenetre.setDefaultCloseOpertion(JFrame.EXIT_ON_CLOSE);
|
||||
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
panneauGrille = new JPanel();
|
||||
panneauGrille.setLayout(new GridLayout(l, c));
|
||||
@@ -43,6 +43,24 @@ public class FenetreJeu {
|
||||
actualiserAffichage();
|
||||
}
|
||||
|
||||
public void revelerCaseProche(int l, int c){
|
||||
if (l < 0 || l >= grille.getLigne() || c < 0 || c >= grille.getColonne() )return;
|
||||
Case caseActuelle = grille.getCase(l, c);
|
||||
if (caseActuelle.getMarqueur() != 0 || caseActuelle.getEstRevelee() == true )return;
|
||||
caseActuelle.setEstRevelee(true);
|
||||
if(caseActuelle.getNbMinesautour() == 0){
|
||||
for(int i = -1; i <= 1; i++){
|
||||
for(int j = -1; j <= 1; j++){
|
||||
int vL = l + i;
|
||||
int vC = c + j;
|
||||
revelerCaseProche(vL,vC);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// logique du clic droit
|
||||
public void clicDroit(int l, int c) {
|
||||
Case caseCliquee = grille.getCase(l, c);
|
||||
@@ -63,10 +81,11 @@ public class FenetreJeu {
|
||||
caseCliquee.setEstRevelee(true);
|
||||
|
||||
} else {
|
||||
caseCliquee.setEstRevelee(true);
|
||||
revelerCaseProche(l,c);
|
||||
}
|
||||
actualiserAffichage();
|
||||
}
|
||||
|
||||
|
||||
// mise à jour du texte et couleurs de tous les boutons
|
||||
public void actualiserAffichage() {
|
||||
|
||||
Reference in New Issue
Block a user