-
Notifications
You must be signed in to change notification settings - Fork 0
/
structures.h
198 lines (161 loc) · 3.63 KB
/
structures.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
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#ifndef STRUCTURES_H_INCLUDED
#define STRUCTURES_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include <allegro.h>
#include <math.h>
#include <string.h>
typedef struct Joueur
{
int or;
int metal;
int pierre;
} t_joueur;
typedef struct BatimentP
{
int x;
int y;
int imageX;
int imageY;
} t_batimentP;
typedef struct borneCoordonnees
{
int xDeb;
int xFin;
int yDeb;
int yFin;
} t_borne;
typedef struct MAILLONBR t_maillonBR;
struct MAILLONBR
{
int tic;
int ticMax;
int type;
int niveau;
int x, y;
t_maillonBR *suivant;
};
typedef struct MAILLONEDD t_maillonEDD;
struct MAILLONEDD
{
int emplacementDisponible;
int afficherFondation;
int x;
int y;
int numeroEDD;
t_maillonEDD *suivant;
};
typedef struct MAILLONMINE t_maillonMine;
struct MAILLONMINE
{
int x;
int y;
int type;
int etat;
t_maillonMine *suivant;
};
typedef struct ListeBR
{
t_maillonBR *premier;
} t_listeBR;
typedef struct ListeMine
{
t_maillonMine *premier;
} t_listeMine;
typedef struct ListeEDD
{
t_maillonEDD *premier;
} t_listeEDD;
typedef struct balle t_balle;
struct balle
{
int x;
int y;
int tx;
int ty;
int dx;
int dy;
int degat;
int angle;
int millieuAvantX;
int millieuAvantY;
int pass; //pass du calcul de l'angle pour la balle
t_balle *suivant;
};
typedef struct listeBalle
{
t_balle *premier;
}t_listeBalle;
typedef struct defense t_defense;
struct defense
{
int x;
int y;
int radius;
int degat;
int POL; //point of life
int centre;
int test;
int angle;
int type;
int valeurCanon; //timer pour la creation d'une nouvelle balle
int cadenceMax; //valeur max du timer pour la candence de tir
int target; //numero de l'ennmeie visé par la tourelle
t_defense *suivant;
t_listeBalle *liste;
};
typedef struct listedef
{
t_defense *premier;
}t_listedef;
typedef struct ennemi t_ennemi;
struct ennemi
{
int x, y;
int depx, depy;
int tx, ty;
int centre;
int numero;
int type; //c'est le type de l'ennemi
int cmptDepM, tmpDepM;
int imgA; //c'est l'image actuelle dans la séquence
int imgX, imgY;
int cmptImg, tmpImg; //c'est le compteur pour gérer la vitesse de l'animation
int pvM; //point de vie
int degatsM; //different degat en fonction du type d'ennemi
int cmptDeg, tmpDeg; //different
int angle;
t_ennemi *suivant;
};
typedef struct listeMechant
{
int nbElement; //nb de mechant qui sont sur le jeu
int cmptG, tmpG; //compteur de generation des mechant
int cmptDestruc, tmpDestruct; //compteur avant faire avancer les mechant a la fin
int nbVague;
int vagueM; //numero de la vague
int typeMechant[5]; //nombre de mechant par type
int pvM[5];
int degatsM[5]; //different degat en fonction du type d'ennemi
int tmpDegat[5]; //differentes vitesse d'attaques des ennemis en fonction de leur type
int tmpDep[5];
int nbAfaire; //c'est le nombre de mechant qui doivent etre créer dans la vagque
int nbFait; //C'est le nombre de mechant qui ont été créer
int vagueFinis; //0 = NON, 1 = OUI
int cmptV, tmpV; //compteur de temps entre les vagues
int listeActua; //booleen qui permet de savoir si la liste est actualise quand on change de niveau
t_ennemi *premier;
}t_listeMechant;
typedef struct classement
{
int x;
int y;
int score;
char chaine[100];
}t_classement;
#define NB_SEQM 3
#define NB_MECHANT_MAX 80 //nombre de mechant simultanement sur la map
#define VITESSE 2
#define ESP_X 30
#define ESP_Y 30
#endif // STRUCTURES_H_INCLUDED