You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
1023 B
Markdown
23 lines
1023 B
Markdown
# Classes
|
|
|
|
Les classes utilisées sont les suivantes :
|
|
|
|
![Diagramme de classes](class.svg)
|
|
|
|
## Classe de représentation
|
|
|
|
Pour représenter les éléments dans le jeu, on utilise les classes :
|
|
|
|
- ```Joueur``` qui n'est instanciée qu'une seule fois, et qui représente le joueur,
|
|
|
|
- ```Monster``` qui représente les monstres,
|
|
|
|
- ```Missile``` qui représente les projectiles.
|
|
|
|
Des instances de la classe ```Missile``` sont membres des deux autres classes car elles représentent les projectiles de base.
|
|
|
|
De plus, les threads ```Joueur_1``` et ```Block_Enemie``` envoient des objets ```Missile``` dans la ```queue_N``` vers le thread ```Projectile``` pour lui signaler les nouveaux missiles à simuler.
|
|
|
|
## Classe de messagerie
|
|
|
|
Les classes utiles pour les messages sont ```struct Collision``` qui permet de transmettre toutes les informations relatives à un choc avec un monstre en même temps, et la classe ```enum End_Type``` qui décrit le type de fin de vague que l'on rencontre (défaite des monstres ou du joueur). |