Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 4d881e9f rédigé par fmoinard's avatar fmoinard
Parcourir les fichiers

Ajout de la javadoc

parent dfc233a3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -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
/**
* Interface Etat.
*/
public interface Etat {
/**
* Etat de la partie.
*
* @param justePrix
*/
void partie(JustePrix justePrix);
}
/**
* Classe EtatArret.
*/
public class EtatArret implements Etat {
@Override
public void partie(JustePrix justePrix) {
System.out.println("Le jeu est à l'arrêt");
......
/**
* Classe EtatGagne.
*/
public class EtatGagne implements Etat{
@Override
public void partie(JustePrix justePrix) {
......
/**
* Classe EtatJouer.
*/
public class EtatJouer implements Etat{
@Override
public void partie(JustePrix justePrix) {
......
/**
* Classe EtatPerdu.
*/
public class EtatPerdu implements Etat{
@Override
public void partie(JustePrix justePrix) {
......
......@@ -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();
......
/**
* 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();
}
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();
......
/**
* Interface Observer.
*/
public interface Observer {
/**
* Permet de notifier.
* @param score
*/
void notifier(int score);
}
\ No newline at end of file
......@@ -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
......
/**
* 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;
}
......
/**
* 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
/**
* 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
......
/**
* 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
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter