début documentation
This commit is contained in:
parent
81b6d2f709
commit
d97e1c8f5c
@ -1,12 +1,37 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
/**
|
||||||
|
* La classe <code>Banniere</code> affiche l'état de la partie,
|
||||||
|
* gère la sauvegarde la victoire et la défaite
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class Banniere extends JPanel {
|
public class Banniere extends JPanel {
|
||||||
|
/**
|
||||||
|
* fenetre de Jeu
|
||||||
|
*/
|
||||||
private FrameJeu fenetre;
|
private FrameJeu fenetre;
|
||||||
|
/**
|
||||||
|
* fenetre du menu lié
|
||||||
|
*/
|
||||||
private FrameMenu menu;
|
private FrameMenu menu;
|
||||||
|
/**
|
||||||
|
* Bouton qui permet de sauver et quitter
|
||||||
|
*/
|
||||||
private JButton save;
|
private JButton save;
|
||||||
|
/**
|
||||||
|
* le JLabel qui affiche le nombre de mines restantes
|
||||||
|
*/
|
||||||
private JLabel mines;
|
private JLabel mines;
|
||||||
// Définition du constructeur
|
|
||||||
|
/**
|
||||||
|
* Constructeur qui sert à la création de la bannière et l'ajout du bouton sauver et quitter
|
||||||
|
* @param mines le nombre de mines dans la partie
|
||||||
|
* @param fenetre la fenêtre de jeu
|
||||||
|
* @param menu la fenêtre de menu rattachée
|
||||||
|
* @param grille la grille de jeu
|
||||||
|
*/
|
||||||
public Banniere(int mines, FrameJeu fenetre, FrameMenu menu, Grille grille) {
|
public Banniere(int mines, FrameJeu fenetre, FrameMenu menu, Grille grille) {
|
||||||
super();
|
super();
|
||||||
this.fenetre=fenetre;
|
this.fenetre=fenetre;
|
||||||
@ -18,7 +43,6 @@ public class Banniere extends JPanel {
|
|||||||
this.setLayout(new BorderLayout());
|
this.setLayout(new BorderLayout());
|
||||||
|
|
||||||
// Compteur de mines restantes
|
// Compteur de mines restantes
|
||||||
|
|
||||||
this.mines= new JLabel();
|
this.mines= new JLabel();
|
||||||
this.add(this.mines, BorderLayout.NORTH);
|
this.add(this.mines, BorderLayout.NORTH);
|
||||||
|
|
||||||
@ -28,13 +52,18 @@ public class Banniere extends JPanel {
|
|||||||
this.add(this.save, BorderLayout.EAST);
|
this.add(this.save, BorderLayout.EAST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour afficher le nombre de mines restantes
|
/**
|
||||||
|
* Méthode pour afficher le nombre de mines restantes
|
||||||
|
* @param minesLeft le nombre de mines restantes
|
||||||
|
*/
|
||||||
public void setMinesLeft(int minesLeft) {
|
public void setMinesLeft(int minesLeft) {
|
||||||
this.mines.setText("Mines restantes : "+Integer.toString(minesLeft));
|
this.mines.setText("Mines restantes : "+Integer.toString(minesLeft));
|
||||||
this.repaint();
|
this.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour indiquer au joueur sa Victoire
|
/**
|
||||||
|
* Méthode pour indiquer au joueur sa Victoire
|
||||||
|
*/
|
||||||
public void setVictoire() {
|
public void setVictoire() {
|
||||||
remove(this.save);
|
remove(this.save);
|
||||||
JLabel victoire = new JLabel("Victoire ! Retour au menu...");
|
JLabel victoire = new JLabel("Victoire ! Retour au menu...");
|
||||||
@ -46,7 +75,9 @@ public class Banniere extends JPanel {
|
|||||||
timerMenu.start();
|
timerMenu.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour indiquer au joueur sa Défaite
|
/**
|
||||||
|
* Méthode pour indiquer au joueur sa Défaite
|
||||||
|
*/
|
||||||
public void setDefaite() {
|
public void setDefaite() {
|
||||||
remove(this.save);
|
remove(this.save);
|
||||||
JLabel defaite = new JLabel("Défaite ! Retour au menu...");
|
JLabel defaite = new JLabel("Défaite ! Retour au menu...");
|
||||||
|
@ -29,7 +29,6 @@ public class Case extends JPanel {
|
|||||||
|
|
||||||
// Méthode qui permet de montrer la case, et fait perdre si elle est minée
|
// Méthode qui permet de montrer la case, et fait perdre si elle est minée
|
||||||
public void setVisible(){
|
public void setVisible(){
|
||||||
|
|
||||||
// On vérfie que la case n'est pas déjà visible
|
// On vérfie que la case n'est pas déjà visible
|
||||||
if (!this.visible){
|
if (!this.visible){
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
|
@ -1,10 +1,29 @@
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
/**
|
||||||
|
* La classe <code>Chargement</code> implémente l'interface ActionListener
|
||||||
|
* elle permet de lancer le chargement d'une partie sauvegardée
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class Chargement implements ActionListener {
|
public class Chargement implements ActionListener {
|
||||||
|
/**
|
||||||
|
* Fenetre du menu.
|
||||||
|
*/
|
||||||
private FrameMenu menu;
|
private FrameMenu menu;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur qui ne sert qu'à la création de la constante menu
|
||||||
|
* @param menu la fenêtre de menu
|
||||||
|
*/
|
||||||
public Chargement(FrameMenu menu){
|
public Chargement(FrameMenu menu){
|
||||||
this.menu=menu;
|
this.menu=menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui doit être rédigée
|
||||||
|
* @param e l'évenement sur le bouton
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
this.menu.setVisible(false);
|
this.menu.setVisible(false);
|
||||||
|
@ -1,10 +1,25 @@
|
|||||||
import javax.swing.*;
|
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...)
|
/**
|
||||||
|
* La classe <code>FrameJeu</code> génère une grille de jeu
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class FrameJeu extends JFrame{
|
public class FrameJeu extends JFrame{
|
||||||
|
/**
|
||||||
|
* grille de jeu
|
||||||
|
*/
|
||||||
private Grille grille;
|
private Grille grille;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur qui sert à géréner une nouvelle grille
|
||||||
|
* @param lignes le nombre de lignes
|
||||||
|
* @param colonnes le nombre de colonnes
|
||||||
|
* @param mines le nombre de mines
|
||||||
|
* @param menu la fenêtre du menu rattaché à la partie
|
||||||
|
*/
|
||||||
public FrameJeu(int lignes, int colonnes, int mines, FrameMenu menu) {
|
public FrameJeu(int lignes, int colonnes, int mines, FrameMenu menu) {
|
||||||
super();
|
super();
|
||||||
// Création d'une grille pour une nouvelle partie
|
// Création d'une grille pour une nouvelle partie
|
||||||
@ -13,13 +28,24 @@ public class FrameJeu extends JFrame{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Génération d'une grille à partir de la sauvegarde
|
/**
|
||||||
|
* Constructeur qui sert à charger la grille d'une ancienne partie
|
||||||
|
* @param lignes le nombre de lignes
|
||||||
|
* @param colonnes le nombre de colonnes
|
||||||
|
* @param donnees la sauvegarde
|
||||||
|
* @param mines le nombre de mines
|
||||||
|
* @param menu la fenêtre du menu rattaché à la partie
|
||||||
|
*/
|
||||||
public FrameJeu (int lignes, int colonnes, SaveManager.SaveData donnees, int mines, FrameMenu menu){
|
public FrameJeu (int lignes, int colonnes, SaveManager.SaveData donnees, int mines, FrameMenu menu){
|
||||||
super();
|
super();
|
||||||
|
// Génération d'une grille à partir de la sauvegarde
|
||||||
this.grille=new Grille(lignes,colonnes,donnees,mines,this, menu);
|
this.grille=new Grille(lignes,colonnes,donnees,mines,this, menu);
|
||||||
MiseEnPage();
|
MiseEnPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui sert à créer la fenêtre avec ses élements
|
||||||
|
*/
|
||||||
public void MiseEnPage(){
|
public void MiseEnPage(){
|
||||||
|
|
||||||
// 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
|
||||||
|
@ -2,20 +2,57 @@ import javax.swing.*;
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
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...)
|
* La classe <code>FrameMenu</code> correspond à une fenêtre de menu,
|
||||||
|
* elle l'affiche et régit aux directives de l'utilisateur (Jouer, Charger, Quitter)
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class FrameMenu extends JFrame{
|
public class FrameMenu extends JFrame{
|
||||||
|
/**
|
||||||
|
* Nombre de lignes pour la partie à lancer
|
||||||
|
*/
|
||||||
private int lignes;
|
private int lignes;
|
||||||
|
/**
|
||||||
|
* Nombre de colonnes pour la partie à lancer
|
||||||
|
*/
|
||||||
private int colonnes;
|
private int colonnes;
|
||||||
|
/**
|
||||||
|
* Nombre de mines pour la partie à lancer
|
||||||
|
*/
|
||||||
private int mines;
|
private int mines;
|
||||||
|
/**
|
||||||
|
* JSlider qui permet de choisir le nombre de lignes
|
||||||
|
*/
|
||||||
private JSlider sliderLignes;
|
private JSlider sliderLignes;
|
||||||
|
/**
|
||||||
|
* JSlider qui permet de choisir le nombre de colonnes
|
||||||
|
*/
|
||||||
private JSlider sliderColonnes;
|
private JSlider sliderColonnes;
|
||||||
|
/**
|
||||||
|
* JSlider qui permet de choisir le nombre de mines
|
||||||
|
*/
|
||||||
private JSlider sliderMines;
|
private JSlider sliderMines;
|
||||||
|
/**
|
||||||
|
* JLabel qui permet d'afficher en temps réel le nombre de lignes
|
||||||
|
*/
|
||||||
private JLabel showLines;
|
private JLabel showLines;
|
||||||
|
/**
|
||||||
|
* JLabel qui permet d'afficher en temps réel le nombre de colonnes
|
||||||
|
*/
|
||||||
private JLabel showColumns;
|
private JLabel showColumns;
|
||||||
|
/**
|
||||||
|
* JLabel qui permet d'afficher en temps réel le nombre de mines
|
||||||
|
*/
|
||||||
private JLabel showMines;
|
private JLabel showMines;
|
||||||
|
/**
|
||||||
|
* JButton pour charger une éventuelle sauvegarde
|
||||||
|
*/
|
||||||
private JButton charger;
|
private JButton charger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur destiné à la création et l'affichage de la fenêtre de menu
|
||||||
|
*/
|
||||||
public FrameMenu() {
|
public FrameMenu() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
@ -37,7 +74,7 @@ public class FrameMenu extends JFrame{
|
|||||||
titre.setBounds((frameSize.width/3), frameSize.height/15,frameSize.width/2,frameSize.height*2/15);
|
titre.setBounds((frameSize.width/3), frameSize.height/15,frameSize.width/2,frameSize.height*2/15);
|
||||||
this.add(titre);
|
this.add(titre);
|
||||||
|
|
||||||
// On créer les sliders et les JLabel qui afficheront leur valeur
|
// On créer les Jsliders et les JLabel qui afficheront leur valeur
|
||||||
this.sliderLignes = new JSlider(4,30,20);
|
this.sliderLignes = new JSlider(4,30,20);
|
||||||
this.sliderColonnes = new JSlider(4,30,25);
|
this.sliderColonnes = new JSlider(4,30,25);
|
||||||
this.sliderMines = new JSlider(1,900, 50);
|
this.sliderMines = new JSlider(1,900, 50);
|
||||||
@ -70,6 +107,7 @@ public class FrameMenu extends JFrame{
|
|||||||
this.add(showColumns);
|
this.add(showColumns);
|
||||||
this.add(showMines);
|
this.add(showMines);
|
||||||
|
|
||||||
|
// On créer les boutons Jouer, quitter et si une save existe, charger
|
||||||
JButton newGame = new JButton("Jouer");
|
JButton newGame = new JButton("Jouer");
|
||||||
newGame.addActionListener(new NewGameListener(this));
|
newGame.addActionListener(new NewGameListener(this));
|
||||||
|
|
||||||
@ -98,7 +136,11 @@ public class FrameMenu extends JFrame{
|
|||||||
this.setVisible(true);
|
this.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour récupérer les valeurs des paramètres et les afficher à l'écran
|
/**
|
||||||
|
* Méthode pour récupérer les valeurs des paramètres et les afficher à l'écran
|
||||||
|
* @param settingToSet Le paramètre qui doit être changé
|
||||||
|
* @param settingValue La nouvelle valeur à donner au paramètre
|
||||||
|
*/
|
||||||
public void setSettings(int settingToSet, int settingValue) {
|
public void setSettings(int settingToSet, int settingValue) {
|
||||||
if (settingToSet==0){
|
if (settingToSet==0){
|
||||||
this.lignes=settingValue;
|
this.lignes=settingValue;
|
||||||
@ -113,7 +155,10 @@ public class FrameMenu extends JFrame{
|
|||||||
this.sliderMines.setMaximum(this.colonnes*this.lignes);
|
this.sliderMines.setMaximum(this.colonnes*this.lignes);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methode pour connaître les paramètres de la partie
|
/**
|
||||||
|
* Renvoie les valeurs des paramètres
|
||||||
|
* @return les paramètres pour une nouvelle partie
|
||||||
|
*/
|
||||||
public int[] getSettings() {
|
public int[] getSettings() {
|
||||||
int[] settings = new int[3];
|
int[] settings = new int[3];
|
||||||
settings[0]=this.lignes;
|
settings[0]=this.lignes;
|
||||||
@ -122,7 +167,9 @@ public class FrameMenu extends JFrame{
|
|||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methode pour supprimer le bouton charger après un chargement
|
/**
|
||||||
|
* Méthode pour supprimer le bouton charger après avoir chargé une partie
|
||||||
|
*/
|
||||||
public void deleteCharger() {
|
public void deleteCharger() {
|
||||||
this.remove(this.charger);
|
this.remove(this.charger);
|
||||||
}
|
}
|
||||||
|
39
Grille.java
39
Grille.java
@ -15,8 +15,6 @@ public class Grille extends JPanel{
|
|||||||
private boolean enJeu;
|
private boolean enJeu;
|
||||||
private FrameJeu fenetre;
|
private FrameJeu fenetre;
|
||||||
|
|
||||||
// TODO : Recréer un tableau avec les cases minees
|
|
||||||
|
|
||||||
// Définition du constructeur qui correspond à une nouvelle grille de jeu
|
// Définition du constructeur qui correspond à une nouvelle grille de jeu
|
||||||
public Grille(int lignes, int colonnes, int mines, FrameJeu fenetre, FrameMenu menu){
|
public Grille(int lignes, int colonnes, int mines, FrameJeu fenetre, FrameMenu menu){
|
||||||
super();
|
super();
|
||||||
@ -85,7 +83,6 @@ public class Grille extends JPanel{
|
|||||||
this.lignes=lignes;
|
this.lignes=lignes;
|
||||||
this.taille=lignes*colonnes;
|
this.taille=lignes*colonnes;
|
||||||
this.minesLeft=mines;
|
this.minesLeft=mines;
|
||||||
this.mines=mines;
|
|
||||||
this.enJeu=true;
|
this.enJeu=true;
|
||||||
this.fenetre=fenetre;
|
this.fenetre=fenetre;
|
||||||
|
|
||||||
@ -102,34 +99,39 @@ public class Grille extends JPanel{
|
|||||||
// On initialise un plateau de cases
|
// On initialise un plateau de cases
|
||||||
GenererPlateau(caseSize);
|
GenererPlateau(caseSize);
|
||||||
|
|
||||||
|
// On créer un tableau pour y placer les cases minées
|
||||||
// On prépare un tableau pour y placer les cases minées
|
|
||||||
int[] caseMine = new int[mines];
|
int[] caseMine = new int[mines];
|
||||||
|
|
||||||
|
|
||||||
// On lit maintenant les données pour fixer certains de leurs attributs
|
|
||||||
int j=0;
|
int j=0;
|
||||||
|
// On lit maintenant les données pour fixer certains attributs et savoir où sont les mines
|
||||||
for (int i=0;i<=taille-1;i++){
|
for (int i=0;i<=taille-1;i++){
|
||||||
System.out.println(donnees.cases.substring(i,i+1));
|
System.out.println(donnees.cases.substring(i,i+1));
|
||||||
if (Integer.parseInt(donnees.cases.substring(i,i+1))==1){
|
if (Integer.parseInt(donnees.cases.substring(i,i+1))==1){
|
||||||
plateau[i].setMine();
|
plateau[i].setMine();
|
||||||
caseMine[j]=i;
|
caseMine[j]=i;
|
||||||
|
System.out.println(caseMine[j]);
|
||||||
j++;
|
j++;
|
||||||
} else if (Integer.parseInt(donnees.cases.substring(i,i+1))==2){
|
} else if (Integer.parseInt(donnees.cases.substring(i,i+1))==2){
|
||||||
plateau[i].setReperee(true);
|
plateau[i].setReperee(true);
|
||||||
} else if (Integer.parseInt(donnees.cases.substring(i,i+1))==3){
|
} else if (Integer.parseInt(donnees.cases.substring(i,i+1))==3){
|
||||||
plateau[i].setMine();
|
plateau[i].setMine();
|
||||||
|
caseMine[j]=i;
|
||||||
|
System.out.println(caseMine[j]);
|
||||||
|
j++;
|
||||||
plateau[i].setReperee(true);
|
plateau[i].setReperee(true);
|
||||||
} else if (Integer.parseInt(donnees.cases.substring(i,i+1))==4){
|
|
||||||
plateau[i].setVisible();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// On détermine l'entourage de chaque case
|
// On détermine l'entourage de chaque case
|
||||||
SetEntourage(caseMine);
|
SetEntourage(caseMine);
|
||||||
|
|
||||||
|
|
||||||
|
// On affiche les cases qui doivent être visibles
|
||||||
|
for (int n=0;n<=taille-1;n++){
|
||||||
|
if (Integer.parseInt(donnees.cases.substring(n,n+1))==4){
|
||||||
|
plateau[n].setVisible();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// On affiche la grille
|
// On affiche la grille
|
||||||
AfficherPlateau();
|
AfficherPlateau();
|
||||||
}
|
}
|
||||||
@ -138,18 +140,6 @@ public class Grille extends JPanel{
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Méthode pour Génerer le plateau
|
// Méthode pour Génerer le plateau
|
||||||
protected void GenererPlateau(Dimension caseSize){
|
protected void GenererPlateau(Dimension caseSize){
|
||||||
this.plateau= new Case[this.taille];
|
this.plateau= new Case[this.taille];
|
||||||
@ -236,6 +226,7 @@ public class Grille extends JPanel{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
plateau[i].setEntourage(entourage);
|
plateau[i].setEntourage(entourage);
|
||||||
|
System.out.println(entourage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
|
/**
|
||||||
|
* La classe <code>Main</code> est le main qui débute le programme du démineur
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class Main{
|
public class Main{
|
||||||
|
/**
|
||||||
|
* main ouvrant la fenêtre de menu
|
||||||
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new FrameMenu();
|
new FrameMenu();
|
||||||
}
|
}
|
||||||
|
25
Makefile
25
Makefile
@ -11,7 +11,7 @@ JVMFLAGS =
|
|||||||
Main.class : Main.java FrameMenu.class
|
Main.class : Main.java FrameMenu.class
|
||||||
${JC} ${JCFLAGS} Main.java
|
${JC} ${JCFLAGS} Main.java
|
||||||
|
|
||||||
FrameMenu.class : FrameMenu.java SettingsListener.class NewGameListener.class
|
FrameMenu.class : FrameMenu.java SettingsListener.class NewGameListener.class Chargement.class
|
||||||
${JC} ${JCFLAGS} FrameMenu.java
|
${JC} ${JCFLAGS} FrameMenu.java
|
||||||
|
|
||||||
SettingsListener.class : SettingsListener.java
|
SettingsListener.class : SettingsListener.java
|
||||||
@ -20,31 +20,40 @@ SettingsListener.class : SettingsListener.java
|
|||||||
NewGameListener.class : NewGameListener.java FrameJeu.class
|
NewGameListener.class : NewGameListener.java FrameJeu.class
|
||||||
${JC} ${JCFLAGS} NewGameListener.java
|
${JC} ${JCFLAGS} NewGameListener.java
|
||||||
|
|
||||||
|
Chargement.class : Chargement.java FrameJeu.class
|
||||||
|
${JC} ${JCFLAGS} Chargement.java
|
||||||
|
|
||||||
FrameJeu.class : FrameJeu.java Grille.class
|
FrameJeu.class : FrameJeu.java Grille.class
|
||||||
${JC} ${JCFLAGS} FrameJeu.java
|
${JC} ${JCFLAGS} FrameJeu.java
|
||||||
|
|
||||||
Grille.class : Grille.java Banniere.class Case.class
|
.Grille.class : Grille.java Banniere.class Case.class
|
||||||
${JC} ${JCFLAGS} Grille.java
|
${JC} ${JCFLAGS} Grille.java
|
||||||
|
|
||||||
Banniere.class : Banniere.java MenuListener.class
|
Banniere.class : Banniere.java MenuListener.class SaveListener.class
|
||||||
${JC} ${JCFLAGS} Banniere.java
|
${JC} ${JCFLAGS} Banniere.java
|
||||||
|
|
||||||
Case.class : Case.java ListenerCase.class Entourage.class
|
.Case.class : Case.java ListenerCase.class Entourage.class
|
||||||
${JC} ${JCFLAGS} Case.java
|
${JC} ${JCFLAGS} Case.java
|
||||||
|
|
||||||
MenuListener.class : MenuListener.java
|
MenuListener.class : MenuListener.java
|
||||||
${JC} ${JCFLAGS} MenuListener.java
|
${JC} ${JCFLAGS} MenuListener.java
|
||||||
|
|
||||||
ListenerCase.class : ListenerCase.java Etoile.class Doute.class
|
SaveListener.class : SaveListener.java SaveManager.class
|
||||||
|
${JC} ${JCFLAGS} SaveListener.java
|
||||||
|
|
||||||
|
SaveManager.class : SaveManager.java
|
||||||
|
${JC} ${JCFLAGS} SaveManager.java
|
||||||
|
|
||||||
|
.ListenerCase.class : ListenerCase.java Etoile.class Doute.class
|
||||||
${JC} ${JCFLAGS} ListenerCase.java
|
${JC} ${JCFLAGS} ListenerCase.java
|
||||||
|
|
||||||
Entourage.class : Entourage.java
|
.Entourage.class : Entourage.java
|
||||||
${JC} ${JCFLAGS} Entourage.java
|
${JC} ${JCFLAGS} Entourage.java
|
||||||
|
|
||||||
Etoile.class : Etoile.java
|
.Etoile.class : Etoile.java
|
||||||
${JC} ${JCFLAGS} Etoile.java
|
${JC} ${JCFLAGS} Etoile.java
|
||||||
|
|
||||||
Doute.class : Doute.java
|
.Doute.class : Doute.java
|
||||||
${JC} ${JCFLAGS} Doute.java
|
${JC} ${JCFLAGS} Doute.java
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,12 +1,35 @@
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
/**
|
||||||
|
* La classe <code>MenuListener</code> implémente l'interface ActionListener
|
||||||
|
* ferme le jeu et réouvre la fenêtre de menu
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class MenuListener implements ActionListener{
|
public class MenuListener implements ActionListener{
|
||||||
|
/**
|
||||||
|
* fenetre de Jeu
|
||||||
|
*/
|
||||||
private FrameJeu fenetre;
|
private FrameJeu fenetre;
|
||||||
|
/**
|
||||||
|
* fenetre de Menu
|
||||||
|
*/
|
||||||
private FrameMenu menu;
|
private FrameMenu menu;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur qui ne sert qu'à la création de constantes
|
||||||
|
* @param fenetre la fenêtre de jeu
|
||||||
|
* @param menu la fenêtre de menu
|
||||||
|
*/
|
||||||
public MenuListener(FrameJeu fenetre, FrameMenu menu){
|
public MenuListener(FrameJeu fenetre, FrameMenu menu){
|
||||||
this.fenetre=fenetre;
|
this.fenetre=fenetre;
|
||||||
this.menu=menu;
|
this.menu=menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui doit être rédigée
|
||||||
|
* @param event l'évenement
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent event){
|
public void actionPerformed(ActionEvent event){
|
||||||
this.menu.setVisible(true);
|
this.menu.setVisible(true);
|
||||||
|
@ -1,10 +1,29 @@
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
/**
|
||||||
|
* La classe <code>NewGameListener</code> implémente l'interface ActionListener
|
||||||
|
* et permet de lancer une nouvelle partie.
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class NewGameListener implements ActionListener{
|
public class NewGameListener implements ActionListener{
|
||||||
|
/**
|
||||||
|
* Fenetre du menu.
|
||||||
|
*/
|
||||||
private FrameMenu menu;
|
private FrameMenu menu;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur qui ne sert qu'à la création de la constante menu
|
||||||
|
* @param menu la fenêtre de menu
|
||||||
|
*/
|
||||||
public NewGameListener(FrameMenu menu){
|
public NewGameListener(FrameMenu menu){
|
||||||
this.menu=menu;
|
this.menu=menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui doit être rédigée
|
||||||
|
* @param event l'évenement sur le bouton
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent event){
|
public void actionPerformed(ActionEvent event){
|
||||||
int[] settings =this.menu.getSettings();
|
int[] settings =this.menu.getSettings();
|
||||||
|
4
Save.txt
4
Save.txt
@ -1,2 +1,2 @@
|
|||||||
25x20x50
|
11x8x0
|
||||||
44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
|
4444444444444444444444444444444304444444310044444444000444444441004444444410044444444000
|
@ -1,12 +1,35 @@
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
/**
|
||||||
|
* La classe <code>MenuListener</code> implémente l'interface ActionListener
|
||||||
|
* ferme le jeu et sauvegarde la partie en cours dans le fichier Save.txt
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class SaveListener implements ActionListener {
|
public class SaveListener implements ActionListener {
|
||||||
|
/**
|
||||||
|
* Grille de Jeu
|
||||||
|
*/
|
||||||
private Grille grille;
|
private Grille grille;
|
||||||
|
/**
|
||||||
|
* fenetre de Jeu
|
||||||
|
*/
|
||||||
private FrameJeu fenetre;
|
private FrameJeu fenetre;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur qui ne sert qu'à la création de constantes
|
||||||
|
* @param grille la grille de Jeu
|
||||||
|
* @param fenetre la fenêtre de jeu
|
||||||
|
*/
|
||||||
public SaveListener(Grille grille, FrameJeu fenetre){
|
public SaveListener(Grille grille, FrameJeu fenetre){
|
||||||
this.grille=grille;
|
this.grille=grille;
|
||||||
this.fenetre=fenetre;
|
this.fenetre=fenetre;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui doit être rédigée
|
||||||
|
* @param event l'évenement sur le Bouton
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent event){
|
public void actionPerformed(ActionEvent event){
|
||||||
SaveManager saveManager = new SaveManager();
|
SaveManager saveManager = new SaveManager();
|
||||||
|
@ -1,8 +1,19 @@
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>SaveManager</code> sert à sauvegarder la partie en cours
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class SaveManager {
|
public class SaveManager {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode pour récupérer les infos et les écrires dans le fichier voulu
|
||||||
|
* @param grille la grille de jeu
|
||||||
|
* @param nomFichier le nom du fichier de sauvegarde
|
||||||
|
*/
|
||||||
public void save(Grille grille, String nomFichier) {
|
public void save(Grille grille, String nomFichier) {
|
||||||
Dimension taille = grille.getDimensionGrille();
|
Dimension taille = grille.getDimensionGrille();
|
||||||
|
|
||||||
@ -23,6 +34,10 @@ public class SaveManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui charge les infos de sauvegarde
|
||||||
|
* @param nomFicher le nom du fichier de save
|
||||||
|
*/
|
||||||
public SaveData load(String nomFichier) {
|
public SaveData load(String nomFichier) {
|
||||||
String toReturn="";
|
String toReturn="";
|
||||||
String ligne;
|
String ligne;
|
||||||
@ -61,6 +76,9 @@ public class SaveManager {
|
|||||||
return toRet;
|
return toRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>SaveDate</code> correspond aux données de sauvegarde d'une partie
|
||||||
|
*/
|
||||||
public class SaveData{
|
public class SaveData{
|
||||||
public Dimension taille;
|
public Dimension taille;
|
||||||
public String cases;
|
public String cases;
|
||||||
|
@ -2,6 +2,13 @@ import javax.swing.JSlider;
|
|||||||
import javax.swing.event.ChangeEvent;
|
import javax.swing.event.ChangeEvent;
|
||||||
import javax.swing.event.ChangeListener;
|
import javax.swing.event.ChangeListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>SettingsListener</code> implémente l'interface ChangeListener
|
||||||
|
* et permet de connaître la valeur des paramètres
|
||||||
|
*
|
||||||
|
* @version 1.1
|
||||||
|
* @author Kayyissa Haïssous
|
||||||
|
*/
|
||||||
public class SettingsListener implements ChangeListener{
|
public class SettingsListener implements ChangeListener{
|
||||||
private int settingToSet;
|
private int settingToSet;
|
||||||
private int settingValue;
|
private int settingValue;
|
||||||
@ -11,6 +18,10 @@ public class SettingsListener implements ChangeListener{
|
|||||||
this.menu=menu;
|
this.menu=menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui doit être rédigée
|
||||||
|
* @param evenement l'évenement sur le JSlider
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void stateChanged(ChangeEvent evenement) {
|
public void stateChanged(ChangeEvent evenement) {
|
||||||
JSlider slider = (JSlider) evenement.getSource();
|
JSlider slider = (JSlider) evenement.getSource();
|
||||||
|
Loading…
Reference in New Issue
Block a user