début menu

This commit is contained in:
Haïssous Kayyissa 2022-05-17 23:04:53 +02:00
parent 1c6281a74c
commit 64d5715206
2 changed files with 21 additions and 11 deletions

View File

@ -8,7 +8,6 @@ public class Case extends JPanel {
private boolean visible; private boolean visible;
private boolean minee; private boolean minee;
private boolean reperee; private boolean reperee;
private boolean enJeu;
// Définition du constructeur // Définition du constructeur
public Case(Grille grille, Dimension caseSize) { public Case(Grille grille, Dimension caseSize) {
@ -17,7 +16,6 @@ public class Case extends JPanel {
this.visible=false; this.visible=false;
this.reperee=false; this.reperee=false;
this.grille=grille; this.grille=grille;
this.enJeu=true;
// On place un listener sur notre case pour qu'elle réagisse aux clicks du joueur // On place un listener sur notre case pour qu'elle réagisse aux clicks du joueur
this.addMouseListener(new ListenerCase()); this.addMouseListener(new ListenerCase());
@ -46,21 +44,21 @@ public class Case extends JPanel {
else if (this.entourage == 0) { else if (this.entourage == 0) {
this.grille.setEntourageVisible(this); this.grille.setEntourageVisible(this);
} }
if (this.enJeu){ if (this.grille.getEnJeu()){
this.grille.verifVictoire(); this.grille.verifVictoire();
} }
} }
// S'il y a une mine et que c'est la première cliquée // S'il y a une mine et que c'est la première cliquée
else if ((this.minee)&&(this.enJeu)) { else if ((this.minee)&&(this.grille.getEnJeu())) {
System.out.println("Fin de partie première mine avant boum:"+this.enJeu); System.out.println("En jeu première mine avant boum:"+this.grille.getEnJeu());
this.enJeu=false; this.grille.setEnJeu(false);
System.out.println("Fin de partie première mine après boum:"+this.enJeu); System.out.println("En jeu première mine après boum:"+this.grille.getEnJeu());
this.setBackground(new Color(200, 0, 0)); this.setBackground(new Color(200, 0, 0));
this.grille.setAllVisible(); this.grille.setAllVisible();
} }
// S'il y a une mine est que la partie est finie // S'il y a une mine est que la partie est finie
if ((this.minee)&&(!this.enJeu)) { else if ((this.minee)&&(!this.grille.getEnJeu())) {
System.out.println("Fin de partie autres mines:"+this.enJeu); System.out.println("Fin de partie autres mines:"+this.grille.getEnJeu());
this.setBackground(new Color(236, 0, 140)); this.setBackground(new Color(236, 0, 140));
// Sinon le nombre de mines autour d'elle // Sinon le nombre de mines autour d'elle
@ -118,7 +116,7 @@ public class Case extends JPanel {
// Methode pour montrer que la partie est gagnée // Methode pour montrer que la partie est gagnée
public void setVictoire(){ public void setVictoire(){
this.enJeu=false; this.grille.setEnJeu(false);
if (this.minee==true){ if (this.minee==true){
removeAll(); removeAll();
this.setBackground(new Color(236, 214, 0));; this.setBackground(new Color(236, 214, 0));;
@ -128,6 +126,8 @@ public class Case extends JPanel {
// Methode pour savoir dans le Listener si la partie est finie ou non // Methode pour savoir dans le Listener si la partie est finie ou non
public boolean getEnJeu(){ public boolean getEnJeu(){
return this.enJeu;
System.out.println(this.grille.getEnJeu());
return this.grille.getEnJeu();
} }
} }

View File

@ -10,6 +10,7 @@ public class Grille extends JPanel {
private int taille; private int taille;
private int mines; private int mines;
private int minesLeft; private int minesLeft;
private boolean enJeu;
// Définition du constructeur qui correspond à une grille de jeu // Définition du constructeur qui correspond à une grille de jeu
public Grille(int lignes, int colonnes, int mines){ public Grille(int lignes, int colonnes, int mines){
@ -28,6 +29,7 @@ public class Grille extends JPanel {
this.mines=mines; this.mines=mines;
this.minesLeft=mines; this.minesLeft=mines;
this.banniere=banniere; this.banniere=banniere;
this.enJeu=true;
// On génère le plateau contenant les cases // On génère le plateau contenant les cases
GenererPlateau(caseSize); GenererPlateau(caseSize);
@ -254,4 +256,12 @@ public class Grille extends JPanel {
public EtatPartie getBanniere(){ public EtatPartie getBanniere(){
return this.banniere; return this.banniere;
} }
// Méthode qui défini si la partie est en cours ou non
public void setEnJeu(boolean enJeu){
this.enJeu=enJeu;
}
// Méthode qui renvoie si la partie est en cours ou non
public boolean getEnJeu(){
return this.enJeu;
}
} }