Javadoc Tuiles Restantes
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
||||
// Méthode pour créer un hexagone
|
||||
private Polygon createHexagon(int x, int y, int width, int height) {
|
||||
Polygon hexagon = new Polygon();
|
||||
|
||||
|
Reference in New Issue
Block a user