Le système de grille a été ajouterr, la prochaine étape est l'interface graphique

This commit is contained in:
2026-04-01 23:08:39 +02:00
parent 11f4d9b0a5
commit eb04d8bb9f
4 changed files with 72 additions and 4 deletions
+2 -2
View File
@@ -2,14 +2,14 @@ public class Case {
private boolean estMinee; private boolean estMinee;
private boolean estRevelee; private boolean estRevelee;
private int Marqueur; private int marqueur;
private int nbMinesautour; private int nbMinesautour;
public Case() { public Case() {
this.estMinee = false; this.estMinee = false;
this.estRevelee = false; this.estRevelee = false;
this.Marqueur = 0; this.marqueur = 0;
this.nbMinesautour = 0; this.nbMinesautour = 0;
} }
+63
View File
@@ -0,0 +1,63 @@
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<ligne;i++){
for(int j =0;j<colonne;j++){
this.grille[i][j] = new Case();
}
}
}
public void placerMines(int nbMines){
int randomLigne,randomColonne;
for(int i=0;i<nbMines;i++){
randomLigne = generateur.nextInt(ligne);
randomColonne = generateur.nextInt(colonne);
if (grille[randomLigne][randomColonne].getEstMinee() == true){
i--; } else {
grille[randomLigne][randomColonne].setEstMinee(true);
}
}
}
public void compterMinesVoisines(int l, int c){
int compteur = 0;
for(int i = -1; i <= 1; i++){
for(int j = -1; j <= 1; j++){
int vL = l + i;
int vC = c + j;
if(vL >= 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<ligne;i++){
for(int j =0;j<colonne;j++){
compterMinesVoisines(i,j);
}
}
}
}
+5 -2
View File
@@ -1,13 +1,16 @@
Case.class : Case.java Case.class : Case.java
javac -implicit:none Case.java javac -implicit:none Case.java
Grille.class : Grille.java Case.class
javac -implicit:none Grille.java
Quitter.class : Quitter.java Quitter.class : Quitter.java
javac -implicit:none Quitter.java javac -implicit:none Quitter.java
NouvellePartie.class : NouvellePartie.java Menu.class NouvellePartie.class : NouvellePartie.java Menu.class Grille.class
javac -implicit:none NouvellePartie.java javac -implicit:none NouvellePartie.java
Menu.class : Menu.java Menu.class : Menu.java NouvellePartie.class Quitter.class
javac -implicit:none Menu.java javac -implicit:none Menu.java
Demineur.class : Demineur.java Menu.class Demineur.class : Demineur.java Menu.class
+2
View File
@@ -24,10 +24,12 @@ public class Menu {
// Les bouton du Menu // Les bouton du Menu
boutonNouvellePartie = new JButton("Nouvelle partie"); boutonNouvellePartie = new JButton("Nouvelle partie");
boutonNouvellePartie.addActionListener(new NouvellePartie(this));
panneauMenu.add(boutonNouvellePartie); panneauMenu.add(boutonNouvellePartie);
boutonReprendre = new JButton("Reprendre"); boutonReprendre = new JButton("Reprendre");
panneauMenu.add(boutonReprendre); panneauMenu.add(boutonReprendre);
boutonQuitter = new JButton("Quitter"); boutonQuitter = new JButton("Quitter");
boutonQuitter.addActionListener(new Quitter());
panneauMenu.add(boutonQuitter); panneauMenu.add(boutonQuitter);
fenetre.add(panneauMenu, BorderLayout.CENTER); fenetre.add(panneauMenu, BorderLayout.CENTER);