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...) // 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 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 // 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(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
@ -16,13 +16,11 @@ public class FrameJeu{
fenetre.setLayout(new GridBagLayout()); fenetre.setLayout(new GridBagLayout());
GridBagConstraints miseEnPage = new GridBagConstraints(); 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) // Création de la bannière
Dimension grilleSize= grille.getGrilleSize(); EtatPartie banniere = new EtatPartie(grille,mines);
JPanel banniere= new JPanel();
banniere.setBackground( new Color(0, 236, 96);
Dimension banniereSize=new Dimension(grilleSize.width,grilleSize.height/8);
banniere.setSize(banniereSize);
// Mise en place de la bannière // Mise en place de la bannière
miseEnPage.fill = GridBagConstraints.BOTH; miseEnPage.fill = GridBagConstraints.BOTH;

View File

@ -135,7 +135,6 @@ public class Grille extends JPanel {
// Méthode pour Afficher le plateau // Méthode pour Afficher le plateau
protected void AfficherPlateau(int taille){ protected void AfficherPlateau(int taille){
for (int i=0;i<taille;i++){ for (int i=0;i<taille;i++){
this.plateau[i].setVisible();
this.add(this.plateau[i]); 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 // 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 // Au premier click, on place une étoile pour indiquer la présence d'une mine
if (this.marquage==0){ if (this.marquage==0){
panel.add(new Etoile(panel.getSize()), BorderLayout.CENTER); panel.add(new Etoile(panel.getSize()), BorderLayout.CENTER);

View File

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