forked from littlebalup/Zelda3T
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEnnemi.h
118 lines (106 loc) · 2.68 KB
/
Ennemi.h
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
/*
Zelda Oni Link Begins
Copyright (C) 2006-2008 Vincent Jouillat
Please send bugreports with examples or suggestions to www.zeldaroth.fr
*/
#ifndef __ENNEMI_H__
#define __ENNEMI_H__
#include "Personnage.h"
#include "ZoneRect.h"
/*struct noeud{
int cout_g, cout_h, cout_f;
std::pair<int,int> coord;
noeud* parent;
bool operator<(const noeud n2) const {
return (cout_f) <= (n2.cout_f);
}
};
typedef std::list<noeud> l_noeud;
*/
class Jeu;
class Ennemi : public Personnage {
public :
Ennemi(Jeu* jeu, int type, int i, int j, bool p);
~Ennemi();
void draw(SDL_Surface* gpScreen);
void drawSpecial(SDL_Surface* gpScreen);
void moveX(int i);
void moveY(int i);
void moveX(int i, int v, int n, int s);
void moveY(int i, int v, int n, int s);
void revie();
Ennemi* getSuivant();
int getEffet(int i);
ZoneRect* getZonesVulnerables();
void setInvincible(int i);
void setVie(int i);
void pousse(Direction dir);
int getObjets(int i);
void gele();
void degele();
int getEnnId();
void enerve();
void permute(int val);
bool isBoss();
bool isMiniBoss();
bool isBig();
void reveil();
void testTapis();
void capture();
void mort();
int getSpecial(int i);
void setSpecial(int i, int v);
void snipeImp();
void snipe();
void replace();
void releve();
bool isActif();
void setTypeIA(int ia);
void reactiveDes();
void transforme();
private :
void init();
void IA();
void bouge();
void attend();
void deplace();
void hautbas();
void regard();
bool distance();
void tire();
void special();
void drawArme(SDL_Surface* gpScreen);
void ajuste();
void renfort();
void IAZoraG();
void IACrabe();
void IAImp();
void IAFire();
Jeu* gpJeu;
int id;
int vanim;
int vinvin;
int vol;
int nage;
int spectre;
int porte;
int typeIA;
int vitesse;
int force;
int recul;
int glace;
int maxglace;
int typeEnn;
ZoneRect* zonesAttaques;
ZoneRect* zonesVulnerables;
bool chargeIm;
bool arme;
int special1;
int special2;
bool persistent;
int type_att;
int dist;
int effets[25]; //0 rien, 1 repousse, 2 dégats
int objets[3]; //objets laissés après vaincu
};
#endif // Ennemi.h