From c1c703ba3ab901c3b5482655312c0eeb53e7acc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ha=C3=AFssous?= Date: Wed, 25 May 2022 15:36:29 +0200 Subject: [PATCH] javadoc ok --- Case.java | 83 +++++++++++++++++++++---- Doute.java | 19 +++++- Entourage.java | 24 +++++++- Etoile.java | 26 +++++++- Grille.java | 124 +++++++++++++++++++++++++++++++++----- ListenerCase.java | 36 +++++++++-- Main.java | 1 + Makefile | 7 ++- Save.txt | 2 +- SaveAndCloseListener.java | 46 +++++++++++++- SaveManager.java | 3 +- package-list | 1 + 12 files changed, 326 insertions(+), 46 deletions(-) create mode 100644 package-list diff --git a/Case.java b/Case.java index 48ba53c..bdc4994 100644 --- a/Case.java +++ b/Case.java @@ -1,15 +1,38 @@ import javax.swing.*; import java.awt.*; +/** +* La classe Case genère une case de jeu +* @version 1.1 +* @author Kayyissa Haïssous +*/ public class Case extends JPanel { - // Definition d'attributs + /** + * grille sur laquelle est la cas + */ private Grille grille; + /** + * nombre de mines alentours + */ private int entourage; + /** + * statut si la case est visible ou non + */ private boolean visible; + /** + * si la case est minée ou non + */ private boolean minee; + /** + * si la case est marquée par l'utilisateur ou non + */ private boolean reperee; - // Définition du constructeur + /** + * Définition du constructeur qui genère une case + * @param grille grille de jeu + * @param caseSize taille d'une case + */ public Case(Grille grille, Dimension caseSize) { super(); // Initialisation des attributs @@ -27,7 +50,9 @@ public class Case extends JPanel { this.setBackground(new Color(70, 70, 70)); } - // 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(){ // On vérfie que la case n'est pas déjà visible if (!this.visible){ @@ -66,37 +91,58 @@ public class Case extends JPanel { } } - // Méthode permettant de dire si la case est cachée ou visible + /** + * Méthode permettant de dire si la case est cachée ou visible + * @return this.visible + */ public boolean getVisible(){ return this.visible; } - // Méthode pour déclarer la présence d'une mine sur une case + /** + * Méthode pour déclarer la présence d'une mine sur une case + */ public void setMine(){ this.minee=true; } - // Permet de dire si une case est minée + /** + * Permet de dire si une case est minée + * @return this.minee + */ public boolean getMine(){ return this.minee; } - // Défini combien de mines entourent la case + /** + *Défini combien de mines entourent la case + * @param entourage mines autour de la case + */ public void setEntourage(int entourage){ this.entourage=entourage; } - // Renvoi l'entourage de la case + /** + *Renvoie l'entourage de la case + * @return this.entourage + */ public int getEntourage(){ return this.entourage; } - // Permet d'acceder à la grille sur laquelle est la case + /** + * Permet d'acceder à la grille sur laquelle est la case + * @return this.grille + */ public Grille getGrille(){ return this.grille; } - // Méthode pour savoir si le joueur pense que la case est minée + /** + * Méthode pour savoir si le joueur pense que la case est minée + * @param reperee si la case est marquée ou non + * @param marquage quel est le marquage sur la case (0 si aucun) + */ public void setReperee(boolean reperee, int marquage){ this.reperee=reperee; if (marquage==1){ @@ -108,12 +154,17 @@ public class Case extends JPanel { this.grille.MinesLeft(); } - // Methode pour dire si la case est marquée ou non + /** + * Methode pour dire si la case est marquée ou non + * @return this.reperee + */ public boolean getReperee(){ return this.reperee; } - // Methode pour montrer que la partie est gagnée + /** + * Methode pour montrer que la partie est gagnée + */ public void setVictoire(){ this.grille.setEnJeu(false); if (this.minee==true){ @@ -123,11 +174,17 @@ public class Case extends JPanel { } } - // Methode pour savoir dans le Listener si la partie est finie ou non + /** + * Methode pour savoir si la partie est finie ou non + * @return this.grille.getEnJeu() + */ public boolean getEnJeu(){ return this.grille.getEnJeu(); } + /** + * redéfinition du toString pour sauvegarder les cases + */ @Override public String toString(){ int value=0; diff --git a/Doute.java b/Doute.java index d090373..7ed1f97 100644 --- a/Doute.java +++ b/Doute.java @@ -1,12 +1,29 @@ import javax.swing.JComponent; import java.awt.*; - +/** +* La classe Doute hérite de JComponent +* Création d'un point d'interrogation, qui sert pour le marquage des cases +* +* @version 1.1 +* @author Kayyissa Haïssous +*/ public class Doute extends JComponent { + /** + * taille d'une case + */ private Dimension caseSize; + /** + * Constructeur qui ne sert qu'à la création de la constante caseSize + * @param caseSize la taille d'une case + */ public Doute(Dimension caseSize) { super(); this.caseSize=caseSize; } + /** + * Méthode de JComponent réécrite pour afficher une étoile + * @param pinceau pinceau pour dessiner le JComponent + */ @Override protected void paintComponent(Graphics pinceau) { Graphics chiffre = pinceau.create(); diff --git a/Entourage.java b/Entourage.java index 3093710..882f455 100644 --- a/Entourage.java +++ b/Entourage.java @@ -1,14 +1,36 @@ import javax.swing.JComponent; import java.awt.*; - +/** +* La classe Entourage hérite de JComponent +* Elle permet de recharger la case cliquée avec les modifications apportées par l'utilisateur +* +* @version 1.1 +* @author Kayyissa Haïssous +*/ public class Entourage extends JComponent { + /** + * nombre de mines autour de la case + */ private int entourage; + /** + * taille d'une case + */ private Dimension caseSize; + + /** + * Constructeur qui ne sert qu'à la création des constantes + * @param entourage le nombre de mines à afficher + * @param caseSize la taille d'une case + */ public Entourage(int entourage, Dimension caseSize) { super(); this.entourage = entourage; this.caseSize=caseSize; } + /** + * Méthode de JComponent réécrite pour afficher le nombre de mines + * @param pinceau pinceau pour dessiner le JComponent + */ @Override protected void paintComponent(Graphics pinceau) { Graphics chiffre = pinceau.create(); diff --git a/Etoile.java b/Etoile.java index 19aae62..6ff3b74 100644 --- a/Etoile.java +++ b/Etoile.java @@ -1,16 +1,36 @@ import javax.swing.JComponent; import java.awt.*; - - -// Création d'un Jcomponent Etoile, qui sert pour le marquage des mines +/** +* La classe Etoile hérite de JComponent +* Création d'une Etoile, qui sert pour le marquage des cases +* +* @version 1.1 +* @author Kayyissa Haïssous +*/ public class Etoile extends JComponent { + /** + *Image de l'étoile à dessiner + */ private Image etoileImage; + /** + * taille d'une case + */ private Dimension caseSize; + + /** + * Constructeur qui sert à la création de la constante caseSize et récupère l'image + * @param caseSize la taille d'une case + */ public Etoile(Dimension caseSize) { super(); this.caseSize=caseSize; this.etoileImage = Toolkit.getDefaultToolkit().getImage("etoile.png"); } + + /** + * Méthode de JComponent réécrite pour afficher une étoile + * @param pinceau pinceau pour dessiner le JComponent + */ @Override protected void paintComponent(Graphics pinceau) { Graphics etoile = pinceau.create(); diff --git a/Grille.java b/Grille.java index 3c48e35..e5ae7e1 100644 --- a/Grille.java +++ b/Grille.java @@ -2,20 +2,62 @@ import javax.swing.*; import java.awt.*; import java.util.Random; import java.util.Arrays; - +/** +* La classe Grille correspond à une grille de jeu +* elle genère un tableau de case et une Bannière +* @version 1.1 +* @author Kayyissa Haïssous +*/ public class Grille extends JPanel{ + /** + * Banniere + */ private Banniere banniere; + /** + * Dimension de la grille + */ private Dimension grilleSize=new Dimension(0,0); + /** + * tableau des cases de la partie + */ private Case[] plateau; + /** + * nombre de colonnes + */ private int colonnes; + /** + * nombre de lignes + */ private int lignes; + /** + * nombre de cases + */ private int taille; + /** + * nombre de mines + */ private int mines; + /** + * nombre de mines restantes à trouver + */ private int minesLeft; + /** + * statut si la partie est en cours ou non + */ private boolean enJeu; + /** + * fenetre de Jeu + */ private FrameJeu fenetre; - // Définition du constructeur qui correspond à une nouvelle grille de jeu + /** + * Définition du constructeur qui correspond à une nouvelle grille de jeu + * @param lignes nombre de lignes + * @param colonnes nombre de colonnes + * @param mines nombre de mines + * @param fenetre fenetre de Jeu + * @param menu fenetre du menu rattaché + */ public Grille(int lignes, int colonnes, int mines, FrameJeu fenetre, FrameMenu menu){ super(); this.colonnes=colonnes; @@ -77,6 +119,15 @@ public class Grille extends JPanel{ } + /** + * Définition du constructeur qui correspond au chargement d'une grille sauvegardé + * @param lignes nombre de lignes + * @param colonnes nombre de colonnes + * @param donnees sauvegarde + * @param mines nombre de mines + * @param fenetre fenetre de Jeu + * @param menu fenetre du menu rattaché + */ public Grille (int lignes,int colonnes,SaveManager.SaveData donnees,int mines,FrameJeu fenetre, FrameMenu menu){ super(); this.colonnes=colonnes; @@ -137,7 +188,10 @@ public class Grille extends JPanel{ this.banniere.setMinesLeft(this.minesLeft); } - // Méthode pour Génerer le plateau + /** + *Méthode pour Génerer le plateau + * @param caseSize taille d'une case + */ protected void GenererPlateau(Dimension caseSize){ this.plateau= new Case[this.taille]; for (int i=0;iListenerCase implémente l'interface MouseListener +* Elle permet de recharger la case cliquée avec les modifications apportées par l'utilisateur +* +* @version 1.1 +* @author Kayyissa Haïssous +*/ public class ListenerCase implements MouseListener { + /** + * nombre représentant le marquage sur la case + */ private int marquage = 0; @Override - // Méthode qui va servir à détecter le click de la souris + /** + * Méthode à écrire qui réagit au click de la souris + * @param evenement L'évenement de la souris + */ public void mouseClicked(MouseEvent evenement) { Case panel = (Case) evenement.getSource(); if (panel.getEnJeu()) { @@ -38,16 +50,28 @@ public class ListenerCase implements MouseListener { } } - // Les autres méthodes de l'interface n'interviennent pas + /** + * Méthode à écrire qui n'intervient pas + * @param evenement L'évenement de la souris + */ public void mouseEntered(MouseEvent evenement) { } - + /** + * Méthode à écrire qui n'intervient pas + * @param evenement L'évenement de la souris + */ public void mouseExited(MouseEvent evenement) { } - + /** + * Méthode à écrire qui n'intervient pas + * @param evenement L'évenement de la souris + */ public void mousePressed(MouseEvent evenement) { } - + /** + * Méthode à écrire qui n'intervient pas + * @param evenement L'évenement de la souris + */ public void mouseReleased(MouseEvent evenement) { } diff --git a/Main.java b/Main.java index 00c3c83..4bf409c 100644 --- a/Main.java +++ b/Main.java @@ -6,6 +6,7 @@ public class Main{ /** * main ouvrant la fenêtre de menu + * @param args arguments au lancement du programme */ public static void main(String[] args) { new FrameMenu(); diff --git a/Makefile b/Makefile index 29ab214..572e9ff 100644 --- a/Makefile +++ b/Makefile @@ -20,15 +20,18 @@ SettingsListener.class : SettingsListener.java NewGameListener.class : NewGameListener.java FrameJeu.class ${JC} ${JCFLAGS} NewGameListener.java -Chargement.class : Chargement.java FrameJeu.class +Chargement.class : Chargement.java FrameJeu.class SaveManager.class ${JC} ${JCFLAGS} Chargement.java -FrameJeu.class : FrameJeu.java Grille.class +FrameJeu.class : FrameJeu.java Grille.class SaveAndCloseListener.class ${JC} ${JCFLAGS} FrameJeu.java Grille.class : Grille.java Banniere.class Case.class ${JC} ${JCFLAGS} Grille.java +SaveAndCloseListener.class : SaveAndCloseListener.java SaveManager.class + ${JC} ${JCFLAGS} SaveAndCloseListener.java + Banniere.class : Banniere.java MenuListener.class SaveListener.class ${JC} ${JCFLAGS} Banniere.java diff --git a/Save.txt b/Save.txt index 36fd77b..8b7aaa3 100644 --- a/Save.txt +++ b/Save.txt @@ -1,2 +1,2 @@ 25x20x50 -44244410444434444444444444414444144444444444444444441444424444444334444114444444443444444444444400444444444444444444444441010444444444444444444410000044444444444444444100001004444444410104100101001010444444440044444444444000044444444004444444444400004444444101444444444441000014444444444414444444000000444444444440444444401001044444444444044444100000000144444441000144401000000000144410000100010000000000004440100000100100000100001001000000000000000000000001000000000000000010000100000000100100000010 \ No newline at end of file +00000000000000000100103440000000000000011444434444000000000010004444444444400100000010001444444444440000000000104444444444444000000100001444444444444401100000000144443344444444441001000001444444444444344440444100144444430011044444344444444444444100014444444444444444444440000444444444444444444444000044444444444444444434011004444444444444444444010100444443444444444443000001044444444444444300000000004444444444444300000000000444443444444410010000000043444444444441000000000004434444444301000100100000 \ No newline at end of file diff --git a/SaveAndCloseListener.java b/SaveAndCloseListener.java index a8dfeaf..ac28258 100644 --- a/SaveAndCloseListener.java +++ b/SaveAndCloseListener.java @@ -1,14 +1,36 @@ import java.awt.event.*; -public class SaveAndCloseListener implements WindowListener{ +/** +* La classe SaveAndCloseListener implémente WindowListener +* elle genère un tableau de case et une Bannière +* @version 1.1 +* @author Kayyissa Haïssous +*/ +public class SaveAndCloseListener implements WindowListener { + /** + *grille de jeu + */ private Grille grille; - public SaveAndCloseListener(Grille grille){ + + /** + * Constructeur qui ne sert qu'à la création de la constante grille + * @param grille la grille de Jeu + */ + public SaveAndCloseListener(Grille grille) { this.grille=grille; } + /** + * Méthode à écrire qui n'intervient pas + * @param e L'évenement sur la fenêtre + */ @Override public void windowOpened(WindowEvent e) { } + /** + * Méthode à écrire qui sert à sauvegarder la partie à la fermeture de la fenêtre + * @param e L'évenement sur la fenêtre + */ @Override public void windowClosing(WindowEvent e) { SaveManager saveManager = new SaveManager(); @@ -16,22 +38,42 @@ public class SaveAndCloseListener implements WindowListener{ } + /** + * Méthode à écrire qui n'intervient pas + * @param e L'évenement sur la fenêtre + */ @Override public void windowClosed(WindowEvent e) { } + /** + * Méthode à écrire qui n'intervient pas + * @param e L'évenement sur la fenêtre + */ @Override public void windowIconified(WindowEvent e) { } + /** + * Méthode à écrire qui n'intervient pas + * @param e L'évenement sur la fenêtre + */ @Override public void windowDeiconified(WindowEvent e) { } + /** + * Méthode à écrire qui n'intervient pas + * @param e L'évenement sur la fenêtre + */ @Override public void windowActivated(WindowEvent e) { } + /** + * Méthode à écrire qui n'intervient pas + * @param e L'évenement sur la fenêtre + */ @Override public void windowDeactivated(WindowEvent e) { } diff --git a/SaveManager.java b/SaveManager.java index f66beb9..a98c38e 100644 --- a/SaveManager.java +++ b/SaveManager.java @@ -36,7 +36,8 @@ public class SaveManager { /** * Méthode qui charge les infos de sauvegarde - * @param nomFicher le nom du fichier de save + * @param nomFichier le nom du fichier de save + * @return sauvegarde */ public SaveData load(String nomFichier) { String toReturn=""; diff --git a/package-list b/package-list new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/package-list @@ -0,0 +1 @@ +