amélioration du code et de la javadoc
This commit is contained in:
@@ -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;
|
||||
|
||||
/**
|
||||
|
@@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user