Javadoc Tuiles Restantes
This commit is contained in:
@@ -8,19 +8,49 @@ import java.awt.Polygon;
|
|||||||
import java.awt.RenderingHints;
|
import java.awt.RenderingHints;
|
||||||
import java.awt.RadialGradientPaint;
|
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 {
|
public class RemainingTilesIndicator {
|
||||||
private int remainingTiles;
|
private int remainingTiles;
|
||||||
private int maxTiles;
|
private int maxTiles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur de la classe RemainingTilesIndicator.
|
||||||
|
*
|
||||||
|
* @param maxTiles Le nombre maximum de tuiles disponibles au départ.
|
||||||
|
*/
|
||||||
|
|
||||||
public RemainingTilesIndicator(int maxTiles) {
|
public RemainingTilesIndicator(int maxTiles) {
|
||||||
this.maxTiles = maxTiles;
|
this.maxTiles = maxTiles;
|
||||||
this.remainingTiles = 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) {
|
public void setRemainingTiles(int remainingTiles) {
|
||||||
this.remainingTiles = Math.max(0, Math.min(remainingTiles, maxTiles));
|
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) {
|
public void draw(Graphics g, int x, int y) {
|
||||||
Graphics2D g2d = (Graphics2D) g;
|
Graphics2D g2d = (Graphics2D) g;
|
||||||
int tileWidth = 50; // Largeur de l'assiette
|
int tileWidth = 50; // Largeur de l'assiette
|
||||||
@@ -62,14 +92,28 @@ public class RemainingTilesIndicator {
|
|||||||
g2d.dispose();
|
g2d.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la hauteur totale occupée par les tuiles restantes dans l'indicateur.
|
||||||
|
*
|
||||||
|
* @return La hauteur totale en pixels.
|
||||||
|
*/
|
||||||
|
|
||||||
public int getTotalHeight() {
|
public int getTotalHeight() {
|
||||||
int tileHeight = 12; // Hauteur de l'assiette
|
int tileHeight = 12; // Hauteur de l'assiette
|
||||||
int gap = 1; // Espace entre les tuiles
|
int gap = 1; // Espace entre les tuiles
|
||||||
return remainingTiles * (tileHeight + gap);
|
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) {
|
private Polygon createHexagon(int x, int y, int width, int height) {
|
||||||
Polygon hexagon = new Polygon();
|
Polygon hexagon = new Polygon();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user