From 35d25bb96090770132dab7458bb301850e67ae2d Mon Sep 17 00:00:00 2001 From: Lenny FOULOU Date: Fri, 6 Dec 2024 23:02:38 +0100 Subject: [PATCH] =?UTF-8?q?am=C3=A9lioration=20du=20code=20et=20de=20la=20?= =?UTF-8?q?javadoc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../monkhanny/dorfromantik/utils/Hexagon.java | 14 +++++++- .../dorfromantik/utils/HexagonDrawer.java | 33 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/fr/monkhanny/dorfromantik/utils/Hexagon.java b/src/fr/monkhanny/dorfromantik/utils/Hexagon.java index 72b4a0d..c9697bd 100644 --- a/src/fr/monkhanny/dorfromantik/utils/Hexagon.java +++ b/src/fr/monkhanny/dorfromantik/utils/Hexagon.java @@ -3,8 +3,20 @@ package fr.monkhanny.dorfromantik.utils; import java.awt.Point; import java.awt.Polygon; - +/** + * Classe représentant un hexagone. + * + * Cette classe est une extension de la classe {@link Polygon} + * et permet de créer un polygone ayant la forme d'un hexagone, en spécifiant les coordonnées + * du centre, le rayon ainsi qu'un angle de départ optionnel. + * + * @version 1.0 + * @author Khalid CHENOUNA + */ public class Hexagon extends Polygon { + /** + * Angle entre deux sommets de l'hexagone + */ private static final int ANGLE_BETWEEN_VERTICES = 60; /** diff --git a/src/fr/monkhanny/dorfromantik/utils/HexagonDrawer.java b/src/fr/monkhanny/dorfromantik/utils/HexagonDrawer.java index 4652ec0..760fa45 100644 --- a/src/fr/monkhanny/dorfromantik/utils/HexagonDrawer.java +++ b/src/fr/monkhanny/dorfromantik/utils/HexagonDrawer.java @@ -8,13 +8,37 @@ import fr.monkhanny.dorfromantik.enums.Biome; import fr.monkhanny.dorfromantik.game.Tile; import fr.monkhanny.dorfromantik.enums.TileOrientation; +/** + * Classe utilitaire pour dessiner un hexagone et ses différentes facettes. + * + * Cette classe est utilisée pour dessiner une tuile hexagonale représentant les différentes biomes. + * Elle permet de gérer l'affichage graphique des tuiles en fonction de leurs caractéristiques. + * + * @version 1.0 + * @author Lenny FOULOU, Khalid CHENOUNA + */ public class HexagonDrawer { + /** + * Tuile à dessiner. + */ private Tile tile; + /** + * Constructeur pour initialiser la tuile à dessiner. + * + * @param tile Tuile à dessiner + */ public HexagonDrawer(Tile tile) { this.tile = tile; } + /** + * Dessine un hexagone à partir du centre et du rayon spécifiés. + * + * @param g2d Contexte graphique pour dessiner l'hexagone + * @param radius Rayon de l'hexagone + * @param center Centre de l'hexagone + */ public void drawHexagon(Graphics2D g2d, double radius, Point center) { double hexRadius = radius / Math.sqrt(3) / 3; double paddingX = center.x - radius; @@ -29,6 +53,15 @@ public class HexagonDrawer { drawHexagonRow(g2d, paddingX + radius * 0.5, paddingY + radius + radius * Math.sqrt(3) / 2, hexRadius, 4); } + /** + * Dessine une rangée d'hexagones à partir du centre et du rayon spécifiés. + * + * @param g2d Contexte graphique pour dessiner l'hexagone + * @param rowX Position X de la rangée + * @param rowY Position Y de la rangée + * @param radius Rayon de l'hexagone + * @param rowLength Longueur de la rangée + */ private void drawHexagonRow(Graphics2D g2d, double rowX, double rowY, double radius, int rowLength) { int gRadius = tile.getRadius();