Javadoc Tuiles Restantes

This commit is contained in:
2024-12-09 21:03:05 +01:00
parent e023fb757b
commit 1634c6a4d8

View File

@@ -8,19 +8,49 @@ import java.awt.Polygon;
import java.awt.RenderingHints;
import java.awt.RadialGradientPaint;
/**
* Classe RemainingTilesIndicator, utilisée pour représenter graphiquement l'indicateur
* des tuiles restantes dans le jeu. Affiche une pile d'hexagones pour visualiser les tuiles
* disponibles et leur décompte.
*
* @version 1.0
* @author Moncef STITI, Khalid CHENOUNA
*/
public class RemainingTilesIndicator {
private int remainingTiles;
private int maxTiles;
/**
* Constructeur de la classe RemainingTilesIndicator.
*
* @param maxTiles Le nombre maximum de tuiles disponibles au départ.
*/
public RemainingTilesIndicator(int maxTiles) {
this.maxTiles = maxTiles;
this.remainingTiles = maxTiles;
}
/**
* Met à jour le nombre de tuiles restantes, en s'assurant qu'il reste
* dans les limites valides (entre 0 et maxTiles).
*
* @param remainingTiles Le nouveau nombre de tuiles restantes.
*/
public void setRemainingTiles(int remainingTiles) {
this.remainingTiles = Math.max(0, Math.min(remainingTiles, maxTiles));
}
/**
* Dessine l'indicateur des tuiles restantes à une position donnée.
*
* @param g L'objet Graphics utilisé pour dessiner.
* @param x La position X de l'indicateur.
* @param y La position Y de l'indicateur.
*/
public void draw(Graphics g, int x, int y) {
Graphics2D g2d = (Graphics2D) g;
int tileWidth = 50; // Largeur de l'assiette
@@ -62,14 +92,28 @@ public class RemainingTilesIndicator {
g2d.dispose();
}
/**
* Retourne la hauteur totale occupée par les tuiles restantes dans l'indicateur.
*
* @return La hauteur totale en pixels.
*/
public int getTotalHeight() {
int tileHeight = 12; // Hauteur de l'assiette
int gap = 1; // Espace entre les tuiles
return remainingTiles * (tileHeight + gap);
}
// Méthode pour créer un hexagone
/**
* Crée un polygone hexagonal représentant une tuile.
*
* @param x La position X de l'hexagone.
* @param y La position Y de l'hexagone.
* @param width La largeur de l'hexagone.
* @param height La hauteur de l'hexagone.
* @return Un objet Polygon représentant l'hexagone.
*/
private Polygon createHexagon(int x, int y, int width, int height) {
Polygon hexagon = new Polygon();