fenetreJeu fermée

This commit is contained in:
Haïssous Kayyissa 2022-05-21 22:17:25 +02:00
parent 8fb102a5fd
commit 53f23d7cf3
4 changed files with 29 additions and 21 deletions

View File

@ -3,9 +3,11 @@ import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
public class Banniere extends JPanel { public class Banniere extends JPanel {
private FrameJeu fenetre;
// Définition du constructeur // Définition du constructeur
public Banniere(int mines) { public Banniere(int mines, FrameJeu fenetre) {
super(); super();
this.fenetre=fenetre;
// On défini un style à la bannière // On défini un style à la bannière
this.setBackground( new Color(0, 236, 96)); this.setBackground( new Color(0, 236, 96));
@ -25,11 +27,7 @@ public class Banniere extends JPanel {
this.add(new Fin("Victoire !",this.getSize())); this.add(new Fin("Victoire !",this.getSize()));
this.repaint(); this.repaint();
JButton menu = new JButton("Revenir au menu"); JButton menu = new JButton("Revenir au menu");
menu.addActionListener(new ActionListener(){ menu.addActionListener(new MenuListener(this.fenetre));
public void actionPerformed(ActionEvent e) {
new FrameMenu();
}
});
this.add(menu); this.add(menu);
} }
@ -38,11 +36,7 @@ public class Banniere extends JPanel {
this.add(new Fin("Défaite !",this.getSize())); this.add(new Fin("Défaite !",this.getSize()));
this.repaint(); this.repaint();
JButton menu = new JButton("Revenir au menu"); JButton menu = new JButton("Revenir au menu");
menu.addActionListener(new ActionListener(){ menu.addActionListener(new MenuListener(this.fenetre));
public void actionPerformed(ActionEvent e) {
new FrameMenu();
}
});
this.add(menu); this.add(menu);
} }
} }

View File

@ -17,7 +17,7 @@ public class FrameJeu extends JFrame{
GridBagConstraints miseEnPage = new GridBagConstraints(); GridBagConstraints miseEnPage = new GridBagConstraints();
// Création de la grille de Jeu // Création de la grille de Jeu
Grille grille=new Grille(lignes,colonnes,mines); Grille grille=new Grille(lignes,colonnes,mines,this);
// Récupération de la bannière // Récupération de la bannière
Banniere banniere = grille.getBanniere(); Banniere banniere = grille.getBanniere();

View File

@ -11,28 +11,31 @@ public class Grille extends JPanel{
private int mines; private int mines;
private int minesLeft; private int minesLeft;
private boolean enJeu; private boolean enJeu;
private FrameJeu fenetre;
// TODO : entourage dans une méthode // TODO : entourage dans une méthode
// TODO : Recréer un tableau avec les cases minees // TODO : Recréer un tableau avec les cases minees
// 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, FrameJeu fenetre){
super();
this.colonnes=colonnes;
this.taille=lignes*colonnes;
this.mines=mines;
this.minesLeft=mines;
this.enJeu=true;
this.fenetre=fenetre;
// Découpage de l'espace en fonction des paramètres pour la mise en place de la grille // Découpage de l'espace en fonction des paramètres pour la mise en place de la grille
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.grilleSize = new Dimension(((screenSize.height*3/4)/lignes)*colonnes, screenSize.height*3/4 ); this.grilleSize = new Dimension(((screenSize.height*3/4)/lignes)*colonnes, screenSize.height*3/4 );
Dimension caseSize = new Dimension(this.grilleSize.height/lignes,this.grilleSize.height/lignes); Dimension caseSize = new Dimension(this.grilleSize.height/lignes,this.grilleSize.height/lignes);
GridLayout damier = new GridLayout(lignes,colonnes); GridLayout damier = new GridLayout(lignes,colonnes);
Banniere banniere = new Banniere(mines); Banniere banniere = new Banniere(mines,this.fenetre);
this.banniere=banniere;
banniere.setSize(grilleSize.width,grilleSize.height/8); banniere.setSize(grilleSize.width,grilleSize.height/8);
this.setLayout(damier); this.setLayout(damier);
this.setSize(grilleSize); this.setSize(grilleSize);
this.colonnes=colonnes;
this.taille=lignes*colonnes;
this.mines=mines;
this.minesLeft=mines;
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);

11
MenuListener.java Normal file
View File

@ -0,0 +1,11 @@
import java.awt.event.*;
public class MenuListener implements ActionListener{
private FrameJeu fenetre;
public MenuListener(FrameJeu fenetre){
this.fenetre=fenetre;
}
public void actionPerformed(ActionEvent event){
new FrameMenu();
this.fenetre.dispose();
}
}