Re-bonjour,
Oui c'est encore moi. Je suis la puisque j'ai un erreur avec mon main.cpp parce que quand je "include" Monstre.h & Assassin.h. Ça dit que c'est impossible de ouvrir le fichier. Quelqu'un peut me trouver la solution svp.
Ps: Je suis vraiment desole de demander beaucoup d'aide
Assassin.h
Monstre.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #ifndef DEF_ASSASSIN #define DEF_ASSASSIN #include <iostream> #include <string> #include "Monstre.h" class Monstre; /* Creer les assassins */ class Assassin { /* Les attributs d'un assassin */ private: std::string m_nom; char m_class; int m_hp; int m_sp; int m_xp; int m_level; int m_puissance; int m_rapidite; int m_energie; int m_resistance; std::string m_arme; bool m_estVivant; /* Les actions que l'assassin peut faire ou recevoir */ public: void perdreHp(int nbDegat); void perdreSp(int perte); void gagnerXp(int const& levelEnnemi, bool const& ennemiVivant); void gagnerHp(bool const& ennemiVivant); void gagnerSp(bool const& ennemiVivant); void attaquer(Monstre &cible); void superAttaque(Monstre &cible); bool getVivant() const; void information(); }; #endif
Assassin.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #ifndef DEF_MONSTRE #define DEF_MONSTRE #include <iostream> #include <string> #include "Assassin.h" class Assassin; /* Creation des Monstres */ class Monstre { private: /* Attribut des Monstres */ int m_hp; int m_sp; int m_level; int m_puissance; int m_rapidite; int m_energie; int m_resistance; bool m_estVivant; /* Action que les monstres peuvent recevoir & faire */ public: void perdreHp(int const nbDegat); void perdreSp(int perte); void attaquer(Assassin &cible); void superAttaque(Assassin &cible); int getLevel() const; bool getVivant() const; void information(); }; #endif
Monstre.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169 #include "Assassin.h" #include <string> #include <iostream> using namespace std; /* Fonction qui fait perdre la vie a l'assassin */ void Assassin::perdreHp(int const nbDegat) { /* Si il est vivant, il pourra perdre de la vie */ if(m_estVivant = true) { /* Calculer le nombre de dommage sur l'assassin */ int perte(nbDegat/2); perte /= m_resistance; m_hp -= perte; /* Si il succombre, il meurt */ if(m_hp < 0) { m_estVivant = false; cout << "Vous etes mort" << endl; } else { cout << "Vous avez perdu " << perte << " vies" << endl; } } else { cout << "Vous etes mort" << endl; } } /* Fonction qui fait perdre du Sp a l'assassin */ void Assassin::perdreSp(int perte) { /* Si il y a du Sp, il peut en perdre*/ if(m_sp > 0) { m_sp -= perte; } else { cout << "Pas d'energie" << endl; } } /* La fonction qui permet a l'assassin de gagner des Xp */ void Assassin::gagnerXp(int const& levelEnnemi, bool const& ennemiVivant) { /* Si l'ennemi est mort */ if(ennemiVivant == false) { /* Calculer le Xp ramasser */ int gain = levelEnnemi*40; gain /= m_level; /* Rajouter le Xp gagner */ m_xp += gain; cout << "Vous avez gagner " << gain << " xp" << endl; /* A chaque 100 xp, tu as un level up */ if(m_xp > 100) { while(m_xp > 100) { m_xp -= 100; m_level += 1; gagnerHp(ennemiVivant); gagnerSp(ennemiVivant); cout << "Felicitation : vous avez atteint le niveau " << m_level << endl; } } } } /* Fonction qui permet de gagner des Hp */ void Assassin::gagnerHp(bool const& ennemiVivant) { /* Si l'ennemi meurt, tu recois des vies en recompenses */ if(ennemiVivant == false) { /* Calculer le nombre de hp que l'assassin merite */ int gain(m_rapidite/5); gain *= 2; /* Ajouter le hp merité */ m_hp += gain; cout << "Vous avez gagner " << gain << " vie." << endl; } } /* Fonction qui permet de ganger des Sp*/ void Assassin::gagnerSp(bool const& ennemiVivant) { /* Si l'ennemi meurt, tu recois des sp en recompenses */ if(ennemiVivant == false) { /* Calculer le nombre de sp merité */ int gain(m_rapidite/5); gain *= 2; /* Ajouter le nombre de sp merité */ m_sp += gain; cout << "Vous avez gagner " << gain << " sp." << endl; } } /* Fonction qui permet a l'assassin d'attaquer un monstre */ void Assassin::attaquer(Monstre &cible) { cout << "Vous avez attaquer" << endl; /* Calculer la force d'impacte */ int forceDattaque(m_puissance/2); /* Enlever la vie au monstre */ cible.perdreHp(forceDattaque); /* Si il meurt, l'assassin a gagné */ if(cible.getVivant() == false) { gagnerXp(cible.getLevel(),cible.getVivant()); gagnerHp(cible.getVivant()); gagnerSp(cible.getVivant()); } } /* Fonction qui permet a l'assassin de faire des attaques magiques */ void Assassin::superAttaque(Monstre &cible) { /* Calculer l'energie qui sera utilisé pendant l'attaque */ int coutEnergie(100/m_energie*m_level); /* Calculer la force d'impacte qui aura */ int forceDattaque(m_energie*2); /* Si l'assassin a assez de sp, il pourra faire la super attaque*/ if(coutEnergie < m_sp) { cout << "Vous avez faite un super-pouvoir" << endl; /* Perdre l'energie consumé */ perdreSp(coutEnergie); /* La cible recoit l'impacte */ cible.perdreHp(forceDattaque); /* Si le monstre meurt, l'assassin a gagné */ if(cible.getVivant() == false) { gagnerXp(cible.getLevel(),cible.getVivant()); gagnerHp(cible.getVivant()); gagnerSp(cible.getVivant()); } } else { cout << "Vous n'avez plus d'energie" << endl; } } /* Fonction qui retourne si l'assassin est en vie ou mort */ bool Assassin::getVivant() const { return m_estVivant; } /* Fonction qui affiche l'information sur l'assassin */ void Assassin::information() { cout << "Nom : " << m_nom << endl; cout << "Classe : " << m_class << endl; cout << "Hp : " << m_hp << endl; cout << "Sp : " << m_sp << endl; cout << "Xp : " << m_xp << endl; cout << "Level : " << m_level << endl; cout << "Puissance : " << m_puissance << endl; cout << "Rapidite : " << m_rapidite << endl; cout << "Resistance : " << m_resistance << endl; cout << "Arme : " << m_arme << endl; }
main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 #include "Monstre.h" #include <iostream> using namespace std; /* Fonction qui fait perdre de la vie du monstre */ void Monstre::perdreHp(int const nbDegat) { /* Si il est vivant, il pourra perdre des vies*/ if(m_estVivant = true) { /* calculer le dommage qui aura sur le monstre */ int perte(nbDegat/2); perte /= m_resistance; m_hp -= perte; /* Si il succombre, il meurt */ if(m_hp < 0) { m_estVivant = false; cout << "Le monstre est mort" << endl; } else { cout << "Dommage de " << perte << " vies" << endl; } } else { cout << "Le monstre est mort" << endl; } } /* Fonction de perdre de l'energie */ void Monstre::perdreSp(int perte) { /* Si il y a du sp, le monstre peut en perdre */ if(m_sp > 0) { m_sp -= perte; } else { cout << "Le monstre n'as d'energie" << endl; } } /* fonction qui permet au monstre de attaquer un assassin */ void Monstre::attaquer(Assassin &cible) { cout << "Le monstre vous a attaqué" << endl; /* Calculer la force d'impacte */ int forceDattaque(m_puissance/2); /* Enlever la vie au assassin */ cible.perdreHp(forceDattaque); /* Si la cible meurt. Le monstre a gagné */ if(cible.getVivant() == false) { cout << "Le monstre a gagné" << endl; } } /* fonction qui permet au monstre de faire une attaque magique */ void Monstre::superAttaque(Assassin &cible) { /* Calculer l'energie qui sera depensé lors de l'attaque */ int coutEnergie(100/m_energie*m_level); /* Calculer la force d'impacte qui aura */ int forceDattaque(m_energie*2); /* Si le monstre a assez d'energie. Il peut faire la super attaque. */ if(coutEnergie < m_sp) { cout << "Le monstre a fait un superpouvoir" << endl; /* Perdre l'energie consumé */ perdreSp(coutEnergie); /* La cible recoit l'impacte */ cible.perdreHp(forceDattaque); /* Si l'assassin succombre le monstre gagne */ if(cible.getVivant() == false) { cout << "Le monstre a gagner." << endl; } } else { cout << "Vous n'avez plus d'energie" << endl; } } /* Fonction qui retourne le level du monstre */ int Monstre::getLevel() const { return m_level; } /* Fonction qui retourne si le monstre est en vie ou pas */ bool Monstre::getVivant() const { return m_estVivant; } /* Fonction qui affiche les informations du monstres */ void Monstre::information() { cout << "Hp : " << m_hp << endl; cout << "Sp : " << m_sp << endl; cout << "Level : " << m_level << endl; cout << "Puissance : " << m_puissance << endl; cout << "Rapidite : " << m_rapidite << endl; cout << "Resistance : " << m_resistance << endl; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <iostream> #include <string> #include "Assassin.h" #include "Monstre.h" using namespace std; int main() { system("PAUSE"); return 0; }
Partager