Skip to content
Snippets Groups Projects
Commit 404a4bcc authored by Montjoie Henri's avatar Montjoie Henri
Browse files

ébauche d'initialisation depuis un fichier

parent e6504666
No related branches found
No related tags found
No related merge requests found
<listeterrains>
<terrain>
<nom>plaine</nom>
<franchissable>oui</franchissable>
<ptdep>1</ptdep>
</terrain>
<terrain>
<nom>eau</nom>
<franchissable>non</franchissable>
</terrain>
<terrain>
<nom>montagne</nom>
<franchissable>non</franchissable>
</terrain>
<terrain>
<nom>fort</nom>
<franchissable>oui</franchissable>
<ptdep>2</ptdep>
</terrain>
</listeterrains>
<listeclasses>
<classe>
<nom>guerrier</nom>
<pv>150</pv>
<ptdep>2</ptdep>
<mana>100</mana>
<listeattaques>
<attaque>
<nom>coup d'pe</nom>
<degats>15</degats>
</attaque>
<attaque>
<nom>corchure</nom>
<degatsduree>5</degatsduree>
</attaque>
</listeattaques>
</classe>
<classe>
<nom>mage</nom>
<pv>100</pv>
<ptdep>2</ptdep>
<mana>150</mana>
<listeattaques>
<attaque>
<nom>boule de feu</nom>
<degats>15</degats>
<degatsduree>5</degatsduree>
</attaque>
<attaque>
<nom>gel</nom>
<paralysie>oui</paralysie>
</attaque>
</listeattaques>
</classe>
</listeclasses>
\ No newline at end of file
...@@ -25,10 +25,6 @@ boolean est_occupee(Case *c){ ...@@ -25,10 +25,6 @@ boolean est_occupee(Case *c){
return c->occupee; return c->occupee;
} }
boolean terrain_franchissable(type_terrain *t){
return t->franchissable;
}
boolean case_franchissable(Case *c){ boolean case_franchissable(Case *c){
return terrain_franchissable(c->terrain); return terrain_franchissable(c->terrain);
} }
......
...@@ -9,6 +9,8 @@ int get_y(Case *c); ...@@ -9,6 +9,8 @@ int get_y(Case *c);
boolean est_occupee(Case *c); boolean est_occupee(Case *c);
type_terrain* init_terrain(type_terrain *t, type_nom n, boolean f, unsigned short int PD);
boolean terrain_franchissable(type_terrain *t); boolean terrain_franchissable(type_terrain *t);
boolean case_franchissable(Case *c); boolean case_franchissable(Case *c);
......
...@@ -3,6 +3,16 @@ ...@@ -3,6 +3,16 @@
#include "structures.h" #include "structures.h"
int init_jeu(){ /* crée les différents types de terrains, de classes et d'attaques en lisant dans un fichier */
FILE *fichier;
fichier=fopen("../resources/fichier_init.txt","r");
if (fichier==NULL){
fprintf(stderr,"erreur dans l'ouverture du fichier");
return 1;
}
}
int main() int main()
{ {
printf("Hello world!\n"); printf("Hello world!\n");
......
...@@ -9,6 +9,7 @@ personnage* init_personnage(personnage *perso, classe *c, Case *casedepart){ ...@@ -9,6 +9,7 @@ personnage* init_personnage(personnage *perso, classe *c, Case *casedepart){
perso->classe=*c; perso->classe=*c;
perso->points_deplacement=c->points_deplacement_max; perso->points_deplacement=c->points_deplacement_max;
perso->PV=c->PV_max; perso->PV=c->PV_max;
perso->mana=c->mana_max;
perso->position=casedepart; perso->position=casedepart;
marquer_occupee(casedepart); marquer_occupee(casedepart);
return perso; return perso;
...@@ -34,6 +35,8 @@ int deplacer_personnage (personnage *perso, Case *destination){ /*d ...@@ -34,6 +35,8 @@ int deplacer_personnage (personnage *perso, Case *destination){ /*d
marquer_libre(getPosition(perso)); marquer_libre(getPosition(perso));
perso->position=destination; perso->position=destination;
marquer_occupee(getPosition(perso)); marquer_occupee(getPosition(perso));
if(getPosition(perso)==destination) return 0;
return 1;
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define TAILLE_NOMS 16 #define TAILLE_NOMS 16
/* definition des structures ncessaires : case, classe, etc */ /* definition des structures ncessaires : case, classe, etc */
typedef char type_nom[TAILLE_NOMS]; typedef char* type_nom;
typedef enum {faux, vrai} boolean; typedef enum {faux, vrai} boolean;
...@@ -34,9 +34,10 @@ typedef struct { ...@@ -34,9 +34,10 @@ typedef struct {
typedef struct { typedef struct {
type_nom nom; type_nom nom;
attaque attaque; attaque* attaques;
unsigned short int points_deplacement_max; unsigned short int points_deplacement_max;
unsigned short int PV_max; unsigned short int PV_max;
unsigned short int mana_max;
} classe; } classe;
typedef struct { typedef struct {
...@@ -44,6 +45,7 @@ typedef struct { ...@@ -44,6 +45,7 @@ typedef struct {
classe classe; classe classe;
unsigned short int points_deplacement; unsigned short int points_deplacement;
unsigned short int PV; unsigned short int PV;
unsigned short int mana;
boolean paralyse; boolean paralyse;
Case *position; Case *position;
} personnage; } personnage;
......
#include <stdio.h>
#include <stdlib.h>
#include "structures.h"
#include "case.h"
#include "personnage.h"
#include "deplacements.h"
boolean terrain_franchissable(type_terrain *t){
return t->franchissable;
}
type_terrain* init_terrain(type_terrain *t, type_nom n, boolean f, unsigned short int PD){
t->franchissable=f;
t->nom=n;
t->PD_requis=PD;
return t;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment