gl_team_bleu/docs/Composant dem-kul-gom/elements_doc.md
2025-07-12 19:18:13 +02:00

2.8 KiB

Documentation des Elements

Diagramme de Classe

Diagramme

Les classes Engineer et SolarPannel implémentent l'interface SimulableElements.

Diagramme de Classe

Explications des méthodes et variables

Simulable Element

  • setSimulableBoard(SimulableBoard board) est une méthode qui permet de définir la board. Il est également possible de déassigner la board en passant le mot-clé null. Une exception est levée si on essaie de changer la board
  • getSimulableBoard() est la méthode qui permet de récupérer la board où se trouve l'élément.
  • action() permet d'effectuer une action spécifique à l'ingénieur ou au SolarPannel. Une exception est générée en cas de board non définie.
  • getState() permet de récupérer l'état de l'élément en fournissant au minimum la position "x" et "y". Une exception est générée en cas de board non définie.

SolarPannel

Variables :

  • energy contient l'énergie produite par le panneau solaire
  • timetolive contient la durée de vie restante du panneau
  • name contient le nom du Panneau Solaire selon "SP" + ID
  • elementBoard contient la board définie pour l'élément

Méthodes :

  • SolarPannel(int id) permet d'initialiser le SolarPannel en générant aléatoirement sa durée de vie et en y définissant un nom
  • toString() offre la représentation en caractère du SolarPannel
  • damageSolarPannel() offre la possibilité d'endommager le panneau solaire à chaque fois qu'un ingénieur rencontre un SolarPannel. Dans le pire des cas, l'ingénieur peut détruire l'élément
  • action() permet de produire un nombre aléatoire d'énergie et va décrémenter la durée de vie de l'élément. Si le temps de vie est 0, alors le panneau solaire sera retiré de la board

Engineer

Variables :

  • name contient le nom de l'ingénieur selon "EN" + ID
  • elementBoard contient la board définie pour l'élément
  • actualID contient l'identifiant du futur panneau solaire placé par l'ingénieur

Méthodes :

  • Engineer(int id) est le constructeur permettant d'initialiser l'ingénieur
  • toString() offre la représentation en caractère du SolarPannel
  • action() va effectuer un déplacement aléatoire dans la grille, contrôler qu'aucun panneau solaire n'est déjà présent. Si ce n'est pas le cas alors il en crée un nouveau. Sinon, il va endommager le panneau.

Diagramme de séquence

Le diagramme suivant représente le fonctionnement des éléments à savoir :

  • la création d'un ingénieur
  • L'action d'un ingénieur (avec création d'un panneau)
  • La récupération de l'état des éléments

Diagramme de Classe

Diagramme d'activité

Le diagramme d'activité suivant représente les étapes de fonctionnement des éléments Diagramme de Classe