-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscarabe.h
More file actions
65 lines (57 loc) · 2.01 KB
/
scarabe.h
File metadata and controls
65 lines (57 loc) · 2.01 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
60
61
62
63
64
65
#ifndef SCARABE_H
#define SCARABE_H
#include "insecte.h"
/**
* @brief Classe Scarabe : représente un insecte de type scarabée.
*
* Le scarabée a la particularité de pouvoir se déplacer sur les autres insectes adjacents
* et d'exercer un contrôle particulier sur les cases environnantes. Il peut également se déplacer
* sur des cases vides si les conditions de glissement sont remplies.
*/
class Scarabe : public Insecte
{
public:
/**
* @brief Constructeur de la classe Scarabe.
*
* Initialise un scarabée appartenant à un joueur spécifique.
*
* @param joueur Pointeur vers le joueur propriétaire de cet insecte.
*/
Scarabe(class Joueur* joueur);
/**
* @brief Calcule les déplacements possibles pour le scarabée.
*
* Remplit la liste des cases où le scarabée peut se déplacer.
*
* @param move_possibles Référence vers un vecteur où seront ajoutées les cases accessibles.
*/
virtual void get_moves_possibles(std::vector<Case*>& move_possibles) const override;
/**
* @brief Retourne le type de l'insecte.
*
* @return Type::Type Type du scarabée.
*/
virtual Type::Type get_type() const override { return Type::Type::SCARABE; }
/**
* @brief Retourne le chemin de l'icône associée au scarabée.
*
* Cette méthode peut être implémentée ultérieurement pour fournir une icône spécifique.
*
* @return std::string Chemin de l'icône.
*/
virtual std::string get_chemin_icone() const override { return ""; }
/**
* @brief Retourne le nombre maximum de jetons de ce type d'insecte.
*
* @return int Nombre maximum de jetons disponibles pour le scarabée.
*/
virtual int get_jetons_max() const override { return 2; }
/**
* @brief Enregistre la classe Scarabe dans l'UsineInsecte.
*
* Cette variable statique est utilisée pour permettre la création dynamique de scarabées.
*/
static bool enregistre;
};
#endif // SCARABE_H