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