From 4d881e9fa4bc5c90c78218ada7355325fccb5806 Mon Sep 17 00:00:00 2001 From: fmoinard <fmoinard@la-joliverie.com> Date: Wed, 26 Jan 2022 18:57:32 +0100 Subject: [PATCH] Ajout de la javadoc --- README.md | 4 ++- src/main/java/Etat.java | 8 ++++++ src/main/java/EtatArret.java | 4 ++- src/main/java/EtatGagne.java | 3 ++ src/main/java/EtatJouer.java | 3 ++ src/main/java/EtatPerdu.java | 3 ++ src/main/java/Game.java | 23 +++++++++++++++ src/main/java/IProduitBuilder.java | 33 +++++++++++++++++++++- src/main/java/JustePrix.java | 44 +++++++++++++++++++++++++++++ src/main/java/Observer.java | 7 +++++ src/main/java/Produit.java | 18 ++++++------ src/main/java/Score.java | 30 ++++++++++++++++++++ src/main/java/Sujet.java | 16 +++++++++++ src/main/java/TabletteBuilder.java | 27 ++++++++++++++++++ src/main/java/TelephoneBuilder.java | 27 ++++++++++++++++++ 15 files changed, 239 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3969d82..9d9c553 100644 --- a/README.md +++ b/README.md @@ -22,4 +22,6 @@ Le pattern Observer nous a permis de modifier le score du joueur en temps réel Nettoyer le répertoire de travail target : __mvn clean__ -Compiler les sources : __mvn compile__ \ No newline at end of file +Compiler les sources : __mvn compile__ + +Vérifier la qualité du code : __mvn checkstyle:checkstyle__ \ No newline at end of file diff --git a/src/main/java/Etat.java b/src/main/java/Etat.java index 1f2594f..f5fb859 100644 --- a/src/main/java/Etat.java +++ b/src/main/java/Etat.java @@ -1,3 +1,11 @@ +/** + * Interface Etat. + */ public interface Etat { + /** + * Etat de la partie. + * + * @param justePrix + */ void partie(JustePrix justePrix); } diff --git a/src/main/java/EtatArret.java b/src/main/java/EtatArret.java index d170e18..fa60783 100644 --- a/src/main/java/EtatArret.java +++ b/src/main/java/EtatArret.java @@ -1,5 +1,7 @@ +/** + * Classe EtatArret. + */ public class EtatArret implements Etat { - @Override public void partie(JustePrix justePrix) { System.out.println("Le jeu est à l'arrêt"); diff --git a/src/main/java/EtatGagne.java b/src/main/java/EtatGagne.java index 5771846..3b63625 100644 --- a/src/main/java/EtatGagne.java +++ b/src/main/java/EtatGagne.java @@ -1,3 +1,6 @@ +/** + * Classe EtatGagne. + */ public class EtatGagne implements Etat{ @Override public void partie(JustePrix justePrix) { diff --git a/src/main/java/EtatJouer.java b/src/main/java/EtatJouer.java index 82043cb..056e6b1 100644 --- a/src/main/java/EtatJouer.java +++ b/src/main/java/EtatJouer.java @@ -1,3 +1,6 @@ +/** + * Classe EtatJouer. + */ public class EtatJouer implements Etat{ @Override public void partie(JustePrix justePrix) { diff --git a/src/main/java/EtatPerdu.java b/src/main/java/EtatPerdu.java index 14a8142..5179aec 100644 --- a/src/main/java/EtatPerdu.java +++ b/src/main/java/EtatPerdu.java @@ -1,3 +1,6 @@ +/** + * Classe EtatPerdu. + */ public class EtatPerdu implements Etat{ @Override public void partie(JustePrix justePrix) { diff --git a/src/main/java/Game.java b/src/main/java/Game.java index 8e0f518..8fafb26 100644 --- a/src/main/java/Game.java +++ b/src/main/java/Game.java @@ -2,14 +2,37 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; +/** + * Classe, Game, exécutive du jeu. + */ public class Game{ + /** + * Couleur de base (blanc). + */ public static final String ANSI_RESET = "\u001B[0m"; + /** + * Couleur jaune utilisée pour informer que le jeu est à l'arrêt. + */ public static final String ANSI_YELLOW = "\u001B[33m"; + /** + * Couleur bleue utilisée pour donner des indications vis à vis du jeu. + */ public static final String ANSI_BLUE = "\u001B[34m"; + /** + * Prix minimum pour un produit. + */ public static final int prixMin = 500; + /** + * Prix maximum pour un produit. + */ public static final int prixMax = 1500; + /** + * Méthode main. + * + * @param args + */ public static void main(String[] args) { JustePrix justePrixPartie = new JustePrix(); diff --git a/src/main/java/IProduitBuilder.java b/src/main/java/IProduitBuilder.java index 05f8c69..6e32a62 100644 --- a/src/main/java/IProduitBuilder.java +++ b/src/main/java/IProduitBuilder.java @@ -1,13 +1,44 @@ /** - * Builder produit + * Interface du Builder produit. */ public interface IProduitBuilder { + /** + * @param nom + */ IProduitBuilder setNom(String nom); + + /** + * @param os + */ IProduitBuilder setOs(String os); + + /** + * @param processeur + */ IProduitBuilder setProcesseur(String processeur); + + /** + * @param batterie + */ IProduitBuilder setBatterie(int batterie); + + /** + * @param ecran + */ IProduitBuilder setEcran(double ecran); + + /** + * @param marque + */ IProduitBuilder setMarque(String marque); + + /** + * @param prix + */ IProduitBuilder setPrix(int prix); + + /** + * @return un produit. + */ Produit getProduit(); } diff --git a/src/main/java/JustePrix.java b/src/main/java/JustePrix.java index 97b0dcf..72138da 100644 --- a/src/main/java/JustePrix.java +++ b/src/main/java/JustePrix.java @@ -1,24 +1,57 @@ import java.util.ArrayList; import java.util.Scanner; +/** + * Classe JustePrix. + */ public class JustePrix implements Sujet{ + /** + * Liste des observers. + */ private ArrayList<Observer> observers; + /** + * Score. + */ private int score; + /** + * Etat. + */ private Etat etat; + /** + * Couleur de base (blanc). + */ public static final String ANSI_RESET = "\u001B[0m"; + /** + * Couleur rouge utilisée si la manche est perdue. + */ public static final String ANSI_RED = "\u001B[31m"; + /** + * Couleur verte utilisée si la manche est gagnée. + */ public static final String ANSI_GREEN = "\u001B[32m"; + /** + * Couleur jaune utilisée pour informer que le jeu est en cours. + */ public static final String ANSI_YELLOW = "\u001B[33m"; + /** + * Nombre d'essais par manche. + */ public static final int nbEssais = 15; + /** + * Constructeur de la classe JustePrix. + */ public JustePrix() { etat = null; score = 0; observers = new ArrayList<>(); } + /** + * @param etat + */ public void setEtat(Etat etat) { this.etat = etat; } @@ -40,11 +73,22 @@ public class JustePrix implements Sujet{ } } + /** + * Mise à jour du score. + * @param score + */ public void updateScore(int score) { this.score = this.score + score; notifierObs(); } + /** + * Méthode en charge du déroulé du jeu (plus ou moins ou valeur non valable) et de l'arrêt de la manche si: + * - Le nombre d'essais est dépassé. + * - Le juste prix est trouvé. + * @param justeprix + * @param justePrixPartie + */ public void jouerPartie(int justeprix, JustePrix justePrixPartie) { EtatJouer etatJouer = new EtatJouer(); diff --git a/src/main/java/Observer.java b/src/main/java/Observer.java index def7e7a..da7b34a 100644 --- a/src/main/java/Observer.java +++ b/src/main/java/Observer.java @@ -1,3 +1,10 @@ +/** + * Interface Observer. + */ public interface Observer { + /** + * Permet de notifier. + * @param score + */ void notifier(int score); } \ No newline at end of file diff --git a/src/main/java/Produit.java b/src/main/java/Produit.java index ee9e486..255e31b 100644 --- a/src/main/java/Produit.java +++ b/src/main/java/Produit.java @@ -4,39 +4,41 @@ public class Produit { /** - * nom du produit. + * Nom du produit. */ private String nom; /** - * os du produit. + * Os du produit. */ private String os; /** - * processeur du produit. + * Processeur du produit. */ private String processeur; /** - * batterie du produit. + * Batterie du produit. */ private int batterie; /** - * taille de l'écran du produit. + * Taille de l'écran du produit. */ private double ecran; /** - * marque du produit. + * Marque du produit. */ private String marque; /** - * prix du produit. + * Prix du produit. */ private int prix; /** - * type de produit. + * Type de produit. */ private String typeProduit; /** + * Constructeur de la classe Produit. + * * @param nom * @param os * @param processeur diff --git a/src/main/java/Score.java b/src/main/java/Score.java index d3eba43..26642c0 100644 --- a/src/main/java/Score.java +++ b/src/main/java/Score.java @@ -1,29 +1,59 @@ +/** + * Classe Score. + */ public class Score implements Observer{ + /** + * Couleur jaune utilisée pour l'affichage du score. + */ public final String ANSI_YELLOW = "\u001B[33m"; + /** + * Sujet. + */ private Sujet sujet; + /** + * Score. + */ private int score; + /** + * Constructeur de la classe Score. + * + * @param s + */ public Score(Sujet s) { s.enregistrerObs(this); this.sujet = s; } + /** + * Notifie un changement du score. + * @param score + */ @Override public void notifier(int score) { this.score = score; afficher(); } + /** + * Affiche le score. + */ public void afficher() { System.out.print(ANSI_YELLOW); System.out.println("Votre score est passé à "+this.score+"/4"); } + /** + * @return score. + */ public int getScore() { return score; } + /** + * @param score + */ public void setScore(int score) { this.score = score; } diff --git a/src/main/java/Sujet.java b/src/main/java/Sujet.java index ea820b8..70b54ec 100644 --- a/src/main/java/Sujet.java +++ b/src/main/java/Sujet.java @@ -1,5 +1,21 @@ +/** + * Interface Sujet + */ public interface Sujet { + /** + * Permet d'engistrer un observer + * @param observer + */ void enregistrerObs(Observer observer); + + /** + * Permet de supprimer un observer + * @param observer + */ void supprimerObs(Observer observer); + + /** + * Permet de notifier les observers + */ void notifierObs(); } \ No newline at end of file diff --git a/src/main/java/TabletteBuilder.java b/src/main/java/TabletteBuilder.java index 36c364a..15a33f0 100644 --- a/src/main/java/TabletteBuilder.java +++ b/src/main/java/TabletteBuilder.java @@ -1,11 +1,38 @@ +/** + * Classe du Builder tablette. + */ public class TabletteBuilder implements IProduitBuilder{ + /** + * Nom de la tablette. + */ String nom = ""; + /** + * Os de la tablette. + */ String os = ""; + /** + * Processeur de la tablette. + */ String processeur = ""; + /** + * Batterie de la tablette. + */ int batterie = 0; + /** + * Taille de l'écran de la tablette. + */ double ecran = 0.00; + /** + * Marque de la tablette. + */ String marque = ""; + /** + * Prix de la tablette. + */ int prix = 0; + /** + * Type tablette. + */ String typeProduit = "Tablette"; @Override diff --git a/src/main/java/TelephoneBuilder.java b/src/main/java/TelephoneBuilder.java index f8688d4..85a0cb9 100644 --- a/src/main/java/TelephoneBuilder.java +++ b/src/main/java/TelephoneBuilder.java @@ -1,11 +1,38 @@ +/** + * Classe du Builder téléphone. + */ public class TelephoneBuilder implements IProduitBuilder{ + /** + * Nom du téléphone. + */ String nom = ""; + /** + * Os du téléphone. + */ String os = ""; + /** + * Processeur du téléphone. + */ String processeur = ""; + /** + * Batterie du téléphone. + */ int batterie = 0; + /** + * Taille de l'écran du téléphone. + */ double ecran = 0.00; + /** + * Marque du téléphone. + */ String marque = ""; + /** + * Prix du téléphone. + */ int prix = 0; + /** + * Type téléphone. + */ String typeProduit = "Telephone"; @Override -- GitLab