début save
This commit is contained in:
parent
c86f3dadfb
commit
8fb102a5fd
@ -1,5 +1,6 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
|
||||||
public class Banniere extends JPanel {
|
public class Banniere extends JPanel {
|
||||||
// Définition du constructeur
|
// Définition du constructeur
|
||||||
@ -17,6 +18,31 @@ public class Banniere extends JPanel {
|
|||||||
this.removeAll();
|
this.removeAll();
|
||||||
this.add(new MineLeft(minesLeft,this.getSize()));
|
this.add(new MineLeft(minesLeft,this.getSize()));
|
||||||
this.repaint();
|
this.repaint();
|
||||||
this.updateUI();
|
}
|
||||||
|
|
||||||
|
// Méthode pour indiquer au joueur sa Victoire
|
||||||
|
public void setVictoire(){
|
||||||
|
this.add(new Fin("Victoire !",this.getSize()));
|
||||||
|
this.repaint();
|
||||||
|
JButton menu = new JButton("Revenir au menu");
|
||||||
|
menu.addActionListener(new ActionListener(){
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
new FrameMenu();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Méthode pour indiquer au joueur sa Défaite
|
||||||
|
public void setDefaite(){
|
||||||
|
this.add(new Fin("Défaite !",this.getSize()));
|
||||||
|
this.repaint();
|
||||||
|
JButton menu = new JButton("Revenir au menu");
|
||||||
|
menu.addActionListener(new ActionListener(){
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
new FrameMenu();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(menu);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -125,4 +125,7 @@ public class Case extends JPanel {
|
|||||||
public boolean getEnJeu(){
|
public boolean getEnJeu(){
|
||||||
return this.grille.getEnJeu();
|
return this.grille.getEnJeu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO : Override toString() pour avoir 3 bits désignants l'état de la case
|
||||||
|
//
|
||||||
}
|
}
|
||||||
|
21
Fin.java
Normal file
21
Fin.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import javax.swing.JComponent;
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
public class Fin extends JComponent {
|
||||||
|
private String message;
|
||||||
|
private Dimension banniereSize;
|
||||||
|
public Fin(String message, Dimension banniereSize) {
|
||||||
|
super();
|
||||||
|
this.message = message;
|
||||||
|
this.banniereSize=banniereSize;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void paintComponent(Graphics pinceau) {
|
||||||
|
this.setSize(banniereSize);
|
||||||
|
Graphics chiffre = pinceau.create();
|
||||||
|
Font font = new Font("Arial", Font.BOLD, banniereSize.width/50);
|
||||||
|
chiffre.setFont(font);
|
||||||
|
chiffre.setColor(new Color(0, 22, 236));
|
||||||
|
chiffre.drawString(message,banniereSize.width/100,banniereSize.height*2/3);
|
||||||
|
}
|
||||||
|
}
|
@ -12,6 +12,9 @@ public class Grille extends JPanel {
|
|||||||
private int minesLeft;
|
private int minesLeft;
|
||||||
private boolean enJeu;
|
private boolean enJeu;
|
||||||
|
|
||||||
|
// TODO : entourage dans une méthode
|
||||||
|
// TODO : Recréer un tableau avec les cases minees
|
||||||
|
|
||||||
// Définition du constructeur qui correspond à une grille de jeu
|
// Définition du constructeur qui correspond à une grille de jeu
|
||||||
public Grille(int lignes, int colonnes, int mines){
|
public Grille(int lignes, int colonnes, int mines){
|
||||||
|
|
||||||
@ -159,6 +162,7 @@ public class Grille extends JPanel {
|
|||||||
this.plateau[i].setVisible();
|
this.plateau[i].setVisible();
|
||||||
}
|
}
|
||||||
System.out.println("Défaite !");
|
System.out.println("Défaite !");
|
||||||
|
this.banniere.setDefaite();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour obtenir la taille de la grille de jeu
|
// Méthode pour obtenir la taille de la grille de jeu
|
||||||
@ -188,10 +192,11 @@ public class Grille extends JPanel {
|
|||||||
}
|
}
|
||||||
// Lance la victoire si toutes les cases non minées sont révélées
|
// Lance la victoire si toutes les cases non minées sont révélées
|
||||||
if (taille-mines==casesVisibles){
|
if (taille-mines==casesVisibles){
|
||||||
System.out.println("Victoire !");
|
|
||||||
for (int i=0;i<taille;i++){
|
for (int i=0;i<taille;i++){
|
||||||
this.plateau[i].setVictoire();
|
this.plateau[i].setVictoire();
|
||||||
}
|
}
|
||||||
|
System.out.println("Victoire !");
|
||||||
|
this.banniere.setVictoire();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,6 +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);
|
this.menu.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user