debut Etat de la Partie

This commit is contained in:
Haïssous Kayyissa 2022-05-04 23:23:27 +02:00
parent cb8c48d334
commit e955b3871c
5 changed files with 27 additions and 11 deletions

20
EtatPartie.java Normal file
View File

@ -0,0 +1,20 @@
import javax.swing.*;
import java.awt.*;
public class EtatPartie extends JPanel {
private ListenerCase listener;
// Définition du constructeur
public EtatPartie(Grille grille, int mines) {
super();
// On place un listener sur notre grille pour avoir accès à l'état de la partie
this.listener = new ListenerCase();
this.addMouseListener(this.listener);
// On défini un style et une taille à la bannière
Dimension grilleSize= grille.getGrilleSize();
Dimension banniereSize=new Dimension(grilleSize.width,grilleSize.height/8);
this.setSize(banniereSize);
this.setBackground( new Color(0, 236, 96));
}
}

View File

@ -3,7 +3,7 @@ import java.awt.*;
// Cette classe à pour but d'afficher un menu et de réagir aux directives de l'utilisateur (lancer le jeu, le quitter...)
public class FrameJeu{
public FrameJeu(Grille grille) {
public FrameJeu(int lignes, int colonnes, int mines) {
// On récupère les dimensions de l'écran pour adapter la taille par défaut de notre fenêtre
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
@ -16,13 +16,11 @@ public class FrameJeu{
fenetre.setLayout(new GridBagLayout());
GridBagConstraints miseEnPage = new GridBagConstraints();
// Création de la grille de Jeu
Grille grille=new Grille(lignes,colonnes,mines);
// Création de la bannière (qui sera dans une autre classe plus tard)
Dimension grilleSize= grille.getGrilleSize();
JPanel banniere= new JPanel();
banniere.setBackground( new Color(0, 236, 96);
Dimension banniereSize=new Dimension(grilleSize.width,grilleSize.height/8);
banniere.setSize(banniereSize);
// Création de la bannière
EtatPartie banniere = new EtatPartie(grille,mines);
// Mise en place de la bannière
miseEnPage.fill = GridBagConstraints.BOTH;

View File

@ -135,7 +135,6 @@ public class Grille extends JPanel {
// Méthode pour Afficher le plateau
protected void AfficherPlateau(int taille){
for (int i=0;i<taille;i++){
this.plateau[i].setVisible();
this.add(this.plateau[i]);
}
}

View File

@ -16,7 +16,7 @@ public class ListenerCase implements MouseListener{
}
}
// Si le joueur clique droit, la case sera marquée
if (evenement.getButton() == MouseEvent.BUTTON3) {
if ((evenement.getButton() == MouseEvent.BUTTON3)&&(panel.getVisible()==false)) {
// Au premier click, on place une étoile pour indiquer la présence d'une mine
if (this.marquage==0){
panel.add(new Etoile(panel.getSize()), BorderLayout.CENTER);

View File

@ -1,6 +1,5 @@
public class Test {
public static void main(String[] args) {
Grille grille=new Grille(10,15,15);
new FrameJeu(grille);
new FrameJeu(15,20,20);
}
}