un peu de nettoyage
This commit is contained in:
parent
1b19ba171b
commit
903f85fb53
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user