From bd4d54ecae2eeb52db626b7a98cad954310e7901 Mon Sep 17 00:00:00 2001 From: chenouna Date: Mon, 9 Dec 2024 21:07:35 +0100 Subject: [PATCH] Javadoc du Score --- .../dorfromantik/game/ScoreDisplay.java | 34 +++++++++++++++++++ .../dorfromantik/game/ScoreManager.java | 31 ++++++++++++----- 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/src/fr/monkhanny/dorfromantik/game/ScoreDisplay.java b/src/fr/monkhanny/dorfromantik/game/ScoreDisplay.java index b25caf8..eb617a3 100644 --- a/src/fr/monkhanny/dorfromantik/game/ScoreDisplay.java +++ b/src/fr/monkhanny/dorfromantik/game/ScoreDisplay.java @@ -4,26 +4,60 @@ import java.awt.Color; import java.awt.Font; import java.awt.Graphics; +/** + * Classe ScoreDisplay, utilisée pour afficher le score du joueur à l'écran. + * + * @version 1.0 + * @author Lenny FOULOU + */ + public class ScoreDisplay { private int score; private Font font; private int x, y; // Position du texte + /** + * Constructeur de la classe ScoreDisplay. + * + * @param font La police utilisée pour afficher le score. + * @param x La position X où le score sera affiché. + * @param y La position Y où le score sera affiché. + */ + public ScoreDisplay(Font font, int x, int y) { this.font = font; this.x = x; this.y = y; } + /** + * Met à jour le score à afficher. + * + * @param score Le nouveau score à afficher. + */ + public void setScore(int score) { this.score = score; } + /** + * Met à jour la position où le score sera affiché. + * + * @param x La nouvelle position X du score. + * @param y La nouvelle position Y du score. + */ + public void setPosition(int x, int y) { this.x = x; this.y = y; } + /** + * Dessine le score à l'écran. + * + * @param g L'objet Graphics utilisé pour dessiner. + */ + public void draw(Graphics g) { g.setFont(font); g.setColor(Color.BLACK); diff --git a/src/fr/monkhanny/dorfromantik/game/ScoreManager.java b/src/fr/monkhanny/dorfromantik/game/ScoreManager.java index f75ad9b..28f36b8 100644 --- a/src/fr/monkhanny/dorfromantik/game/ScoreManager.java +++ b/src/fr/monkhanny/dorfromantik/game/ScoreManager.java @@ -10,21 +10,30 @@ import java.util.Map; /** - * Manages the score of the game, keeping track of biome pockets. + * Gère le score du jeu en suivant les poches de biomes et en calculant le score en fonction de la taille de ces poches. + * + * @version 1.0 + * @author Lenny FOULOU */ public class ScoreManager { private List pockets; private int currentScore; + /** + * Constructeur de la classe ScoreManager. + * Initialise les poches et le score à 0. + */ + public ScoreManager() { pockets = new ArrayList<>(); currentScore = 0; } /** - * Adds a tile to the appropriate pocket or creates a new one if necessary. + * Ajoute une tuile à la poche appropriée ou crée une nouvelle poche si nécessaire. + * Le score est recalculé après l'ajout de la tuile. * - * @param tile The tile to add. + * @param tile La tuile à ajouter. */ public void addTile(Tile tile) { Map biomeToPocketMap = new HashMap<>(); @@ -66,11 +75,11 @@ public class ScoreManager { } /** - * Finds the pocket associated with the given tile and biome. + * Trouve la poche associée à la tuile et au biome donnés. * - * @param tile The tile to check. - * @param biome The biome to match. - * @return The connected pocket, or null if none found. + * @param tile La tuile à vérifier. + * @param biome Le biome à associer. + * @return La poche associée à la tuile et au biome, ou null si aucune poche n'est trouvée. */ private Pocket findPocketForTile(Tile tile, Biome biome) { for (Pocket pocket : pockets) { @@ -82,7 +91,7 @@ public class ScoreManager { } /** - * Recalculates the score based on the current pockets. + * Recalcule le score en fonction des poches de biomes actuelles. */ private void recalculateScore() { currentScore = 0; @@ -91,6 +100,12 @@ public class ScoreManager { } } + /** + * Obtient le score actuel du jeu. + * + * @return Le score actuel du jeu. + */ + public int getCurrentScore() { return currentScore; }