47 lines
2.8 KiB
Markdown
47 lines
2.8 KiB
Markdown
|
# Documentation des Elements
|
||
|
## Diagramme de Classe
|
||
|
### Diagramme
|
||
|
Les classes Engineer et SolarPannel implémentent l'interface SimulableElements.
|
||
|
|
||
|

|
||
|
|
||
|
### 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 d'activité
|
||
|
Le diagramme d'activité suivant représente les étapes de fonctionnement des éléments
|
||
|

|