From ec932d0aae9b9a520038dbce9f1c683c28d5ba12 Mon Sep 17 00:00:00 2001 From: Ibrahim Date: Wed, 8 Apr 2026 17:16:52 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20r=C3=A9action=20en=20chaine?= =?UTF-8?q?=20quand=20une=20case=20est=20r=C3=A9v=C3=A9l=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- #Grille.java# | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ .#Grille.java | 1 + ActionCase.java | 4 +-- FenetreJeu.java | 23 +++++++++++++++-- Makefile | 2 +- 5 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 #Grille.java# create mode 120000 .#Grille.java diff --git a/#Grille.java# b/#Grille.java# new file mode 100644 index 0000000..bb2299c --- /dev/null +++ b/#Grille.java# @@ -0,0 +1,66 @@ +import java.util.Random; + +public class Grille { + + private Case[][] grille; + private int ligne,colonne; + private Random generateur = new Random(); + + public Grille(int ligne,int colonne) { + this.ligne = ligne; + this.colonne = colonne; + this.grille = new Case[ligne][colonne]; + for(int i =0;i= 0 && vL < ligne && vC >= 0 && vC < colonne){ + if (grille[vL][vC].getEstMinee()) { + compteur++; + } + } + } + } + grille[l][c].setNbMinesautour(compteur); + } + + public void calculerToutesLesMines(){ + for(int i =0;i= 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() { diff --git a/Makefile b/Makefile index 0292293..3dca1b2 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ Quitter.class : Quitter.java FenetreJeu.class ActionCase.class : FenetreJeu.java ActionCase.java Grille.class javac -implicit:none FenetreJeu.java ActionCase.java -NouvellePartie.class : NouvellePartie.java Menu.class Grille.class FenetreJeu.class +NouvellePartie.class : NouvellePartie.java Grille.class FenetreJeu.class javac -implicit:none NouvellePartie.java Menu.class : Menu.java NouvellePartie.class Quitter.class