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
|
// S'il y a une mine et que c'est la première cliquée
|
||||||
else if ((this.minee)&&(this.grille.getEnJeu())) {
|
else if ((this.minee)&&(this.grille.getEnJeu())) {
|
||||||
System.out.println("En jeu première mine avant boum:"+this.grille.getEnJeu());
|
|
||||||
this.grille.setEnJeu(false);
|
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.setBackground(new Color(200, 0, 0));
|
||||||
this.grille.setAllVisible();
|
this.grille.Defaite();
|
||||||
}
|
}
|
||||||
// S'il y a une mine est que la partie est finie
|
// S'il y a une mine est que la partie est finie
|
||||||
else if ((this.minee)&&(!this.grille.getEnJeu())) {
|
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));
|
this.setBackground(new Color(236, 0, 140));
|
||||||
|
|
||||||
// Sinon le nombre de mines autour d'elle
|
// Sinon le nombre de mines autour d'elle
|
||||||
|
@ -2,18 +2,18 @@ import javax.swing.*;
|
|||||||
import java.awt.*;
|
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 extends JFrame{
|
||||||
public FrameJeu(int lignes, int colonnes, int mines) {
|
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();
|
||||||
|
|
||||||
// On crée ensuite notre fenêtre
|
// On crée ensuite notre fenêtre
|
||||||
JFrame fenetre = new JFrame("Démineur - En Jeu");
|
this.setTitle("Démineur - En Jeu");
|
||||||
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
// Mise en page
|
// Mise en page
|
||||||
fenetre.setLayout(new GridBagLayout());
|
this.setLayout(new GridBagLayout());
|
||||||
GridBagConstraints miseEnPage = new GridBagConstraints();
|
GridBagConstraints miseEnPage = new GridBagConstraints();
|
||||||
|
|
||||||
// Création de la grille de Jeu
|
// Création de la grille de Jeu
|
||||||
@ -30,7 +30,7 @@ public class FrameJeu{
|
|||||||
miseEnPage.gridy = 0;
|
miseEnPage.gridy = 0;
|
||||||
miseEnPage.weightx =1;
|
miseEnPage.weightx =1;
|
||||||
miseEnPage.weighty = 0.15;
|
miseEnPage.weighty = 0.15;
|
||||||
fenetre.add(banniere, miseEnPage);
|
this.add(banniere, miseEnPage);
|
||||||
|
|
||||||
|
|
||||||
// Mise en place de la grille
|
// Mise en place de la grille
|
||||||
@ -39,14 +39,14 @@ public class FrameJeu{
|
|||||||
miseEnPage.weightx =1;
|
miseEnPage.weightx =1;
|
||||||
miseEnPage.weighty = 0.85;
|
miseEnPage.weighty = 0.85;
|
||||||
miseEnPage.fill = GridBagConstraints.BOTH;
|
miseEnPage.fill = GridBagConstraints.BOTH;
|
||||||
fenetre.add(grille, miseEnPage);
|
this.add(grille, miseEnPage);
|
||||||
|
|
||||||
// Mise en place de la fenêtre et affichage
|
// Mise en place de la fenêtre et affichage
|
||||||
fenetre.pack();
|
this.pack();
|
||||||
Dimension grilleSize= grille.getGrilleSize();
|
Dimension grilleSize= grille.getGrilleSize();
|
||||||
fenetre.setSize(grilleSize.width,grilleSize.height*9/8);
|
this.setSize(grilleSize.width,grilleSize.height*9/8);
|
||||||
Dimension fenetreSize=fenetre.getSize();
|
Dimension fenetreSize=this.getSize();
|
||||||
fenetre.setLocation(screenSize.width/2-(fenetreSize.width/2), screenSize.height/2-(fenetreSize.height/2));
|
this.setLocation(screenSize.width/2-(fenetreSize.width/2), screenSize.height/2-(fenetreSize.height/2));
|
||||||
fenetre.setVisible(true);
|
this.setVisible(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,9 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.event.*;
|
||||||
import java.awt.*;
|
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 FrameMenu{
|
public class FrameMenu extends JFrame{
|
||||||
private int lignes;
|
private int lignes;
|
||||||
private int colonnes;
|
private int colonnes;
|
||||||
private int mines;
|
private int mines;
|
||||||
@ -16,19 +16,19 @@ public class FrameMenu{
|
|||||||
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
||||||
|
|
||||||
// On crée ensuite notre fenêtre
|
// On crée ensuite notre fenêtre
|
||||||
JFrame fenetre = new JFrame("Démineur - Menu");
|
this.setTitle("Démineur - Menu");
|
||||||
fenetre.setSize(screenSize.width * 3/5,screenSize.height * 2/3);
|
this.setSize(screenSize.width * 3/5,screenSize.height * 2/3);
|
||||||
fenetre.setLocation(screenSize.width * 1/5, screenSize.height * 1/6);
|
this.setLocation(screenSize.width * 1/5, screenSize.height * 1/6);
|
||||||
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
fenetre.setLayout(null);
|
this.setLayout(null);
|
||||||
fenetre.setLayout(new GridBagLayout());
|
this.setLayout(new GridBagLayout());
|
||||||
GridBagConstraints miseEnPage = new GridBagConstraints();
|
GridBagConstraints miseEnPage = new GridBagConstraints();
|
||||||
|
|
||||||
|
|
||||||
// On créer les zones de textes de saisie
|
// On créer les zones de textes de saisie
|
||||||
this.sliderLignes = new JSlider(4,30);
|
this.sliderLignes = new JSlider(4,30);
|
||||||
this.sliderColonnes = 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));
|
sliderLignes.addChangeListener(new SettingsListener(0,this));
|
||||||
sliderColonnes.addChangeListener(new SettingsListener(1,this));
|
sliderColonnes.addChangeListener(new SettingsListener(1,this));
|
||||||
@ -38,17 +38,26 @@ public class FrameMenu{
|
|||||||
this.colonnes=sliderColonnes.getValue();
|
this.colonnes=sliderColonnes.getValue();
|
||||||
this.mines=sliderMines.getValue();
|
this.mines=sliderMines.getValue();
|
||||||
|
|
||||||
fenetre.add(sliderLignes);
|
this.add(sliderLignes);
|
||||||
fenetre.add(sliderColonnes);
|
this.add(sliderColonnes);
|
||||||
fenetre.add(sliderMines);
|
this.add(sliderMines);
|
||||||
|
|
||||||
JButton newGame = new JButton("New Game");
|
JButton newGame = new JButton("New Game");
|
||||||
newGame.addActionListener(new NewGameListener(this));
|
newGame.addActionListener(new NewGameListener(this));
|
||||||
|
|
||||||
fenetre.add(newGame);
|
this.add(newGame);
|
||||||
|
|
||||||
// A faire : bouton jouer, charger et quitter
|
JButton exit = new JButton("Quitter");
|
||||||
fenetre.setVisible(true);
|
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
|
// Méthode pour récupérer les valeurs des paramètres
|
||||||
@ -61,7 +70,6 @@ public class FrameMenu{
|
|||||||
this.mines=settingValue;
|
this.mines=settingValue;
|
||||||
}
|
}
|
||||||
this.sliderMines.setMaximum(this.colonnes*this.lignes);
|
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
|
// 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
|
// Méthode montrer la défaite
|
||||||
public void setAllVisible(){
|
public void Defaite(){
|
||||||
|
// Montre toutes les cases du plateau
|
||||||
for (int i=0;i<this.taille;i++){
|
for (int i=0;i<this.taille;i++){
|
||||||
this.plateau[i].setVisible();
|
this.plateau[i].setVisible();
|
||||||
}
|
}
|
||||||
|
System.out.println("Défaite !");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour obtenir la taille de la grille de jeu
|
// 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
|
// Méthode déterminant les conditions de victoire
|
||||||
public void verifVictoire(){
|
public void verifVictoire(){
|
||||||
|
// Compte le nombre de cases visibles
|
||||||
int casesVisibles=0;
|
int casesVisibles=0;
|
||||||
for (int i=0;i<this.taille;i++){
|
for (int i=0;i<this.taille;i++){
|
||||||
if(plateau[i].getVisible()==true){
|
if(plateau[i].getVisible()==true){
|
||||||
casesVisibles+=1;
|
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){
|
if (taille-mines==casesVisibles){
|
||||||
for (int i=0;i<taille;i++){
|
for (int i=0;i<taille;i++){
|
||||||
this.plateau[i].setVictoire();
|
this.plateau[i].setVictoire();
|
||||||
|
@ -7,5 +7,6 @@ public class NewGameListener implements ActionListener{
|
|||||||
public void actionPerformed(ActionEvent event){
|
public void actionPerformed(ActionEvent event){
|
||||||
int[] settings =this.menu.getSettings();
|
int[] settings =this.menu.getSettings();
|
||||||
new FrameJeu(settings[0], settings[1], settings[2]);
|
new FrameJeu(settings[0], settings[1], settings[2]);
|
||||||
|
this.menu.setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user