ElderInternalIgnition
0.1
Main Page
Data Structures
Files
File List
structures.h
1
/* \file structures.h
2
* \brief Fichier contenant les principales structures.
3
*/
4
5
#ifndef STRUCTURES_H_INCLUDED
6
#define STRUCTURES_H_INCLUDED
7
8
/* \def TAILLE_MAX_CARTE */
9
#define TAILLE_MAX_CARTE 256
10
/* \def TAILLE_NOMS */
11
#define TAILLE_NOMS 16
12
13
/* definition des structures nécessaires */
14
15
/* SOMMAIRE */
16
/* Type_terrain */
17
/* Case */
18
/* Attaque */
19
/* Classe */
20
/* Personnage */
21
/* Effet */
22
/* Competence */
23
24
25
/* \enum boolean
26
* \brief Definition du type boolean.
27
* faux=0, vrai=1
28
*/
29
typedef
enum
{faux, vrai} boolean;
30
31
/* \struct Type_terrain structures.h
32
* \brief Definition de la structure Type_terrain
33
*/
34
typedef
struct
{
35
char
nom[TAILLE_NOMS];
/*<Nom du terrain. */
36
boolean
franchissable;
/*<Le terrain est franchissable ou non par un personnage. */
37
boolean
franchissable_sorts;
/*<Le terrain est franchissable ou non par un sort. */
38
unsigned
short
int
PD_requis;
/*<Nombre de PD requis pour traverser le terrain. */
39
}
Type_terrain
;
40
41
/* \struct Case structures.h
42
* \brief Definition de la structure Case
43
*/
44
typedef
struct
Case
{
45
unsigned
short
int
coord_x;
/*<Abscisse de la case*/
46
unsigned
short
int
coord_y;
/*<Ordonnee de la case*/
47
Type_terrain
*terrain;
/*<Le type de terrain de la case*/
48
boolean
occupee;
/*<La case est occupee ou non par un personnage*/
49
}
Case
;
50
51
/* \typedef carte structures.h
52
* \brief Definition du type Carte
53
* La carte est un tableau de Case de taille TAILLE_MAX_CARTE.
54
*/
55
typedef
Case
carte[TAILLE_MAX_CARTE];
56
57
/* \struct Case structures.h
58
* \brief Definition de la structure Attaque.
59
*/
60
typedef
struct
{
61
char
nom[TAILLE_NOMS];
/*<Nom de l'attaque de taille TAILLE_NOMS*/
62
unsigned
short
int
degats_directs;
/*<Degats direct occasionnes*/
63
unsigned
short
int
degats_permanents;
/*<Degats permanents occasionnes*/
64
unsigned
short
int
portee;
/*<Portee en nombre de cases de l'attaque*/
65
Effet
effets[];
/*<Tableau des effets appliques par l'attaque*/
66
}
Attaque
;
67
68
/* \struct Classee structures.h
69
* \brief Definition de la structure Classe.
70
*/
71
typedef
struct
{
72
char
nom[TAILLE_NOMS];
/*<Nom de la classe de taille TAILLE_NOMS*/
73
Attaque
* attaques;
/*<Les attaques disponibles pour la classe*/
74
unsigned
short
int
points_deplacement_max;
/*<Les PD maximums accordés a la classe*/
75
unsigned
short
int
PV_max;
/*<Les PV maximums accordés a la classe*/
76
unsigned
short
int
mana_max;
/*<Le mana maximum accordé a la classe*/
77
}
Classe
;
78
79
/* \struct Personnage structures.h
80
* \brief Definition de la structure Personnage.
81
*/
82
typedef
struct
{
83
char
nom[TAILLE_NOMS];
/*<Nom du personnage de taille TAILLE_NOMS*/
84
Classe
classe;
/*<La classe dont depend le personnage */
85
unsigned
short
int
points_deplacement;
/*<Les PD actuels du personnage*/
86
unsigned
short
int
PV;
/*<Les PV actuels du personnage*/
87
unsigned
short
int
mana;
/*<Le mana actuel du personnage*/
88
Case
*position;
/*<La case representant la position actuelle du personnage*/
89
Effet
effets[];
/*<Un tableau d'effets representant les effets affectant le personnage*/
90
}
Personnage
;
91
92
/* \struct Personnage structures.h
93
* \brief Definition de la structure Personnage.
94
*/
95
typedef
struct
{
96
unsigned
int
nb_tours_restants;
/*<Le nombre de tours restants avant que l'effet ne s'estompe*/
97
unsigned
int
valeur_degats_duree;
/*<Le nombre de degat de duree subit par tour*/
98
unsigned
int
valeur_soin_duree;
/*<Le nombre PV regeneres par tour*/
99
boolean
paralysie;
/*<L'effet provoque ou non une paralysie*/
100
}
Effet
;
101
102
/* \struct Competence structures.h
103
* \brief Definition de la structure Competences.
104
* Les competences sont representees sous forme d'arbre chaque
105
* parent ayant 2 enfants.
106
*/
107
typedef
struct
competence
{
108
unsigned
short
int
id;
/*<Un entier qui represente la competence*/
109
char
nom[TAILLE_NOMS];
/*<Nom de la competence de taille TAILLE_NOMS*/
110
unsigned
short
int
etage;
/*<Etage de la competence dans l'arbre*/
111
struct
competence
*enfant_gauche;
/*<Pointeur vers le premier enfant de la competence*/
112
struct
competence
*enfant_droit;
/*<Pointeur vers le deuxieme enfant de la competence*/
113
struct
effet_competence
*effet;
/*<Pointeur vers les effets de la competence*/
114
boolean
connu;
/*<La competence est connue ou non*/
115
}
Competence
;
116
117
/* \struct effet_competence structures.h
118
* \brief Definition de la structure effet_competence
119
*/
120
typedef
struct
effet_competence
{
121
unsigned
short
int
id;
/*<Un entier qui represente la competence*/
122
char
nom[TAILLE_NOMS];
/*<Nom de la competence de taille TAILLE_NOMS*/
123
/* effets à définir */
124
125
}
effet_competence
;
126
127
#endif
effet_competence
Definition:
competence.h:25
Classe
Definition:
structures.h:71
Personnage
Definition:
structures.h:82
competence
Definition:
structures.h:107
Case
Definition:
structures.h:44
Effet
Definition:
structures.h:95
Attaque
Definition:
structures.h:60
Type_terrain
Definition:
structures.h:34
src
structures.h
Generated by
1.8.11