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

# 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).