un peu de nettoyage

This commit is contained in:
Haïssous Kayyissa 2022-05-21 17:30:12 +02:00
parent 1b19ba171b
commit 903f85fb53
5 changed files with 43 additions and 34 deletions

View File

@ -50,15 +50,12 @@ public class Case extends JPanel {
}
// S'il y a une mine et que c'est la première cliquée
else if ((this.minee)&&(this.grille.getEnJeu())) {
System.out.println("En jeu première mine avant boum:"+this.grille.getEnJeu());
this.grille.setEnJeu(false);
System.out.println("En jeu première mine après boum:"+this.grille.getEnJeu());
this.setBackground(new Color(200, 0, 0));
this.grille.setAllVisible();
this.grille.Defaite();
}
// S'il y a une mine est que la partie est finie
else if ((this.minee)&&(!this.grille.getEnJeu())) {
System.out.println("Fin de partie autres mines:"+this.grille.getEnJeu());
this.setBackground(new Color(236, 0, 140));
// Sinon le nombre de mines autour d'elle

View File

@ -2,18 +2,18 @@ import javax.swing.*;
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 class FrameJeu extends JFrame{
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();
// On crée ensuite notre fenêtre
JFrame fenetre = new JFrame("Démineur - En Jeu");
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Démineur - En Jeu");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Mise en page
fenetre.setLayout(new GridBagLayout());
this.setLayout(new GridBagLayout());
GridBagConstraints miseEnPage = new GridBagConstraints();
// Création de la grille de Jeu
@ -30,7 +30,7 @@ public class FrameJeu{
miseEnPage.gridy = 0;
miseEnPage.weightx =1;
miseEnPage.weighty = 0.15;
fenetre.add(banniere, miseEnPage);
this.add(banniere, miseEnPage);
// Mise en place de la grille
@ -39,14 +39,14 @@ public class FrameJeu{
miseEnPage.weightx =1;
miseEnPage.weighty = 0.85;
miseEnPage.fill = GridBagConstraints.BOTH;
fenetre.add(grille, miseEnPage);
this.add(grille, miseEnPage);
// Mise en place de la fenêtre et affichage
fenetre.pack();
this.pack();
Dimension grilleSize= grille.getGrilleSize();
fenetre.setSize(grilleSize.width,grilleSize.height*9/8);
Dimension fenetreSize=fenetre.getSize();
fenetre.setLocation(screenSize.width/2-(fenetreSize.width/2), screenSize.height/2-(fenetreSize.height/2));
fenetre.setVisible(true);
this.setSize(grilleSize.width,grilleSize.height*9/8);
Dimension fenetreSize=this.getSize();
this.setLocation(screenSize.width/2-(fenetreSize.width/2), screenSize.height/2-(fenetreSize.height/2));
this.setVisible(true);
}
}

View File

@ -1,9 +1,9 @@
import javax.swing.*;
import java.awt.event.*;
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 FrameMenu{
public class FrameMenu extends JFrame{
private int lignes;
private int colonnes;
private int mines;
@ -16,19 +16,19 @@ public class FrameMenu{
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
// On crée ensuite notre fenêtre
JFrame fenetre = new JFrame("Démineur - Menu");
fenetre.setSize(screenSize.width * 3/5,screenSize.height * 2/3);
fenetre.setLocation(screenSize.width * 1/5, screenSize.height * 1/6);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setLayout(null);
fenetre.setLayout(new GridBagLayout());
this.setTitle("Démineur - Menu");
this.setSize(screenSize.width * 3/5,screenSize.height * 2/3);
this.setLocation(screenSize.width * 1/5, screenSize.height * 1/6);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);
this.setLayout(new GridBagLayout());
GridBagConstraints miseEnPage = new GridBagConstraints();
// On créer les zones de textes de saisie
this.sliderLignes = new JSlider(4,30);
this.sliderColonnes = new JSlider(4,30);
this.sliderMines = new JSlider(0,900, 16);
this.sliderMines = new JSlider(1,900, 16);
sliderLignes.addChangeListener(new SettingsListener(0,this));
sliderColonnes.addChangeListener(new SettingsListener(1,this));
@ -38,17 +38,26 @@ public class FrameMenu{
this.colonnes=sliderColonnes.getValue();
this.mines=sliderMines.getValue();
fenetre.add(sliderLignes);
fenetre.add(sliderColonnes);
fenetre.add(sliderMines);
this.add(sliderLignes);
this.add(sliderColonnes);
this.add(sliderMines);
JButton newGame = new JButton("New Game");
newGame.addActionListener(new NewGameListener(this));
fenetre.add(newGame);
this.add(newGame);
// A faire : bouton jouer, charger et quitter
fenetre.setVisible(true);
JButton exit = new JButton("Quitter");
exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
this.add(exit);
// A faire : Bouton charger
this.setVisible(true);
}
// Méthode pour récupérer les valeurs des paramètres
@ -61,7 +70,6 @@ public class FrameMenu{
this.mines=settingValue;
}
this.sliderMines.setMaximum(this.colonnes*this.lignes);
System.out.println("Lignes : "+this.lignes+" Colonnes : "+this.colonnes+" Mines : "+this.mines);
}
// Methode pour connaître les paramètres de la partie

View File

@ -152,11 +152,13 @@ public class Grille extends JPanel {
}
}
// Méthode pour montrer toutes les cases à la fin de la partie
public void setAllVisible(){
// Méthode montrer la défaite
public void Defaite(){
// Montre toutes les cases du plateau
for (int i=0;i<this.taille;i++){
this.plateau[i].setVisible();
}
System.out.println("Défaite !");
}
// Méthode pour obtenir la taille de la grille de jeu
@ -177,13 +179,14 @@ public class Grille extends JPanel {
// Méthode déterminant les conditions de victoire
public void verifVictoire(){
// Compte le nombre de cases visibles
int casesVisibles=0;
for (int i=0;i<this.taille;i++){
if(plateau[i].getVisible()==true){
casesVisibles+=1;
}
}
// Lance la victoire si les conditions sont remplies
// Lance la victoire si toutes les cases non minées sont révélées
if (taille-mines==casesVisibles){
for (int i=0;i<taille;i++){
this.plateau[i].setVictoire();

View File

@ -7,5 +7,6 @@ public class NewGameListener implements ActionListener{
public void actionPerformed(ActionEvent event){
int[] settings =this.menu.getSettings();
new FrameJeu(settings[0], settings[1], settings[2]);
this.menu.setVisible(false);
}
}