-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathabeille.h
More file actions
59 lines (53 loc) · 1.78 KB
/
abeille.h
File metadata and controls
59 lines (53 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#ifndef ABEILLE_H
#define ABEILLE_H
#include "insecte.h"
#include "types.h"
#include <vector>
/**
* @brief Classe représentant une abeille dans le jeu.
*
* Cette classe hérite de la classe Insecte et implémente les comportements spécifiques
* à l'abeille, comme son type, ses déplacements possibles, et son icône.
*/
class Abeille : public Insecte
{
public:
/**
* @brief Constructeur de la classe Abeille.
*
* @param joueur Pointeur vers le joueur qui contrôle cette abeille.
*/
Abeille(class Joueur* joueur);
/**
* @brief Récupère le type de l'abeille.
*
* @return Type::Type Le type correspondant à l'abeille (ABEILLE).
*/
virtual Type::Type get_type() const override { return Type::Type::ABEILLE; }
/**
* @brief Récupère le chemin vers l'icône de l'abeille.
*
* @return std::string Chemin vers l'icône de l'abeille (vide dans ce cas).
*/
virtual std::string get_chemin_icone() const override { return ""; }
/**
* @brief Calcule les déplacements possibles de l'abeille.
*
* Cette méthode remplit un vecteur avec les cases où l'abeille peut se déplacer.
*
* @param move_possibles Référence à un vecteur de pointeurs de cases qui sera
* rempli avec les déplacements possibles.
*/
virtual void get_moves_possibles(std::vector<Case *> &move_possibles) const override;
/**
* @brief Récupère le nombre maximum de jetons autorisés pour l'abeille.
*
* @return int Nombre maximum de jetons autorisés (1 pour l'abeille).
*/
virtual int get_jetons_max() const override { return 1; }
/**
* @brief Variable statique utilisée pour enregistrer le type Abeille dans l'usine d'insectes.
*/
static bool enregistre;
};
#endif // ABEILLE_H