diff --git a/src/case.c b/src/case.c index c4c790db6c22d7fca031d0b7a12040bbaf22363b..7e59d8a07e925cd4efad2d2cef707827a9a0ebfe 100644 --- a/src/case.c +++ b/src/case.c @@ -5,7 +5,7 @@ #include "personnage.h" #include "deplacements.h" -Case* init_case(Case *c,int x, int y, type_terrain *t){ +Case * init_case(Case * c,int x, int y, Type_Terrain *t){ c->coord_x=x; c->coord_y=y; c->terrain=t; @@ -39,14 +39,14 @@ void marquer_libre(Case *c){ c->occupee=faux; } -type_terrain* get_terrain(Case *c){ +Type_Terrain* get_terrain(Case *c){ if (c->terrain==NULL){ fprintf(stderr,"pas de terrain"); } return c->terrain; } -int init_carte(carte* c,unsigned short int largeur, unsigned short int hauteur){ +int init_carte(Carte* c,unsigned short int largeur, unsigned short int hauteur){ int i,j,n; if (largeur*hauteur>TAILLE_MAX_CARTE){ printf("erreur : taille maximum de la carte dépassée"); diff --git a/src/case.h b/src/case.h index 6d7f3809f275a9fb86a0179cac5a1d9abd04a9e2..fa5af7956ae1c611a0783aca6ca08a26d13d530c 100644 --- a/src/case.h +++ b/src/case.h @@ -1,7 +1,7 @@ #ifndef CASE_H_INCLUDED #define CASE_H_INCLUDED -Case* init_case(Case *c,int x, int y, type_terrain *t); +Case* init_case(Case *c,int x, int y, Type_Terrain *t); int get_x(Case *c); @@ -9,9 +9,9 @@ int get_y(Case *c); boolean est_occupee(Case *c); -type_terrain* init_terrain(type_terrain *t, type_nom n, boolean f, unsigned short int PD); +Type_Terrain * init_terrain(Type_Terrain * t, char * n, boolean f, unsigned short int PD); -boolean terrain_franchissable(type_terrain *t); +boolean terrain_franchissable(Type_Terrain *t); boolean case_franchissable(Case *c); @@ -19,9 +19,9 @@ void marquer_occupee(Case *c); void marquer_libre(Case *c); -type_terrain* get_terrain(Case *c); +Type_Terrain* get_terrain(Case *c); -int init_carte(carte* c,unsigned short int largeur, unsigned short int hauteur); +int init_carte(Carte* c,unsigned short int largeur, unsigned short int hauteur); #endif diff --git a/src/competence.c b/src/competence.c index 6a8856aa51ed3b54e2e819b225fd9fde023bcb90..9a5aa259e65b57c9105cd844c23b760094e99c81 100644 --- a/src/competence.c +++ b/src/competence.c @@ -4,32 +4,32 @@ #include "competence.h" -arbre_competence* init_arbre_competence(arbre_competence *a){ +Arbre_Competence* init_arbre_competence(Arbre_Competence *a){ } -arbre_competence* construire_arbre_competence(arbre_competence* a){ /* Construit un arbre à partir d'un fichier XML */ +Arbre_Competence* construire_arbre_competence(Arbre_Competence* a){ /* Construit un arbre à partir d'un fichier XML */ } -int rafraichir_competences(arbre_competence * a){ +int rafraichir_competences(Arbre_Competence * a){ } -boolean est_connue(competence *c){ - return (c->connue); +boolean est_connue(Competence *c){ + return (c->connu); } -boolean est_complet(arbre_competence *a){ +boolean est_complet(Arbre_Competence *a){ } -competence** chemin_auto_competence(competence* c){ /* Renvoie la liste des compétences non connues se trouvant sur le chemin d'une compétence sélectionnée */ +int chemin_auto_competence(Competence* c){ /* Renvoie la liste des compétences non connues se trouvant sur le chemin d'une compétence sélectionnée */ } -effet_competence* get_effet(competence *c){ /* Renvoie l'effet d'une competence */ - return competence->effet; +Effet_Competence * get_effet(Competence *c){ /* Renvoie l'effet d'une competence */ + return c->effet; } diff --git a/src/competence.h b/src/competence.h index e6ddc3ffbedbd2aeffceff883d759376f5fdd407..695c45e626dcc61935e97625ab53ddaf6a11c09e 100644 --- a/src/competence.h +++ b/src/competence.h @@ -3,15 +3,17 @@ /* Definition des structures */ -typedef struct arbre_competence{ /* Abre de compétence */ -} +// A definir dans structure.h +typedef struct Arbre_Competence{ // Arbre de compétence +}Arbre_Competence; -typedef struct competence{ /* Competence d'un arbre de talent */ +/* //Cette structure est deja definie dans structure.h + typedef struct Competence{ // Competence d'un arbre de talent unsigned short int id; type_nom nom; unsigned short int etage; @@ -21,29 +23,30 @@ typedef struct competence{ /* Competence d'un arbre de talent */ struct effet_competence *effet; boolean connu; }competence; +*/ -typedef struct effet_competence{ /* Effet d'une compétence de l'arbre */ +/* //Cette structure est deja definie dans structure.h +typedef struct effet_competence{ // Effet d'une compétence de l'arbre unsigned short int id; type_nom nom; - /* effets à définir */ - + // effets à définir }effet_competence; - +*/ /* Fonctions */ -arbre_competence* init_arbre_competence(arbre_competence *a); +Arbre_Competence* init_arbre_competence(Arbre_Competence *a); -arbre_competence* construire_arbre_competence(arbre_competence* a); +Arbre_Competence* construire_arbre_competence(Arbre_Competence* a); -int rafraichir_competences(arbre_competence * a); +int rafraichir_competences(Arbre_Competence * a); -boolean est_connue(competence *c); +boolean est_connue(Competence *c); -boolean est_complet(arbre_competence *a); +boolean est_complet(Arbre_Competence *a); -effet_competence get_effet(competence *c); +Effet_Competence * get_effet(Competence *c); -int chemin_auto_competence(competence* c); +int chemin_auto_competence(Competence* c); #endif diff --git a/src/deplacements.c b/src/deplacements.c index ee8293f2feaf701cc4cd7f4660ed9e91561e8cf0..81a61af2fe470090435a7c06d9e07050e39aa84d 100644 --- a/src/deplacements.c +++ b/src/deplacements.c @@ -5,7 +5,7 @@ #include "personnage.h" #include "deplacements.h" -boolean case_a_cote(personnage *perso,Case *destination){ /* vérifie que la case hexagonale "destination" est contigue à la case du personnage */ +boolean case_a_cote(Personnage * perso, Case * destination){ /* vérifie que la case hexagonale "destination" est contigue à la case du personnage */ Case *depart = getPosition(perso); if (get_x(depart)>get_x(destination)+1||get_x(depart)<get_x(destination)-1||get_y(depart)>get_y(destination)+1||get_y(depart)>get_y(destination)-1){ return faux; @@ -16,7 +16,7 @@ boolean case_a_cote(personnage *perso,Case *destination){ /* v return vrai; } -int deplacement_unitaire(personnage *perso,Case *destination){ /*déplace un personnage sur une case située à côté de la sienne, si cela est possible */ +int deplacement_unitaire(Personnage *perso,Case * destination){ /*déplace un personnage sur une case située à côté de la sienne, si cela est possible */ if (est_occupee(destination)){ printf("déplacement impossible : case déjà occupée par un personnage"); return 1; @@ -32,15 +32,18 @@ int deplacement_unitaire(personnage *perso,Case *destination){ /*d return 1; } - -int affichage_deplacements_possibles(personnage *perso, carte *c){ /* Met en surbrillance les cases disponibles pour un déplacement */ +// Cette fonction devrait plutot renvoyer un tableau ou une liste de cases ou le +//deplacement est possible, pour la surbrillance on verra ca plus tard avec une +//fonction d'affichage specifique. +int affichage_deplacements_possibles(Personnage *perso, Carte *c){ /* Met en surbrillance les cases disponibles pour un déplacement */ int i; int pd_max_x = get_PD(perso); int pd_max_y = get_PD(perso); for(i=0;i<pd_max_x;i++){ - if(1!=0) + if(1!=0){ /* ??? */ + } } return 0; } diff --git a/src/personnage.c b/src/personnage.c index 7200e43eac9bc8a254f79575cdefb9dc5e271259..4779478c8ef1c4d0984d7a39806c0a47170cf061 100644 --- a/src/personnage.c +++ b/src/personnage.c @@ -5,7 +5,7 @@ #include "personnage.h" #include "deplacements.h" -personnage* init_personnage(personnage *perso, classe *c, Case *casedepart){ +Personnage* init_personnage(Personnage *perso, Classe *c, Case *casedepart){ perso->classe=*c; perso->points_deplacement=c->points_deplacement_max; perso->PV=c->PV_max; @@ -15,23 +15,25 @@ personnage* init_personnage(personnage *perso, classe *c, Case *casedepart){ return perso; } -Case* getPosition(personnage *p){ +Case * getPosition(Personnage *p){ return p->position; } -int get_PV(personnage *p){ +int get_PV(Personnage *p){ return p->PV; } -int get_PD(personnage *p){ +int get_PD(Personnage *p){ return p->points_deplacement; } -boolean est_paralyse(personnage *p){ +/* Cette fonction ne fonctionne plus, il faut une fonction qui accede aux effets. +boolean est_paralyse(Personnage *p){ return p->paralyse; } +*/ -int deplacer_personnage (personnage *perso, Case *destination){ /*déplace un personnage d'une case à une autre. Ne vérifie pas si le déplacement est autorisé, cela doit être fait par la fonction qui l'appelle*/ +int deplacer_personnage (Personnage *perso, Case *destination){ /*déplace un personnage d'une case à une autre. Ne vérifie pas si le déplacement est autorisé, cela doit être fait par la fonction qui l'appelle*/ marquer_libre(getPosition(perso)); perso->position=destination; marquer_occupee(getPosition(perso)); diff --git a/src/structures.h b/src/structures.h index 80960f8e41ad3fa6b74105fe7c5c33e2db6cff3d..b53981c66aafafa0b10e749d52eb8a9e24deabca 100644 --- a/src/structures.h +++ b/src/structures.h @@ -18,11 +18,11 @@ #ifndef STRUCTURES_H_INCLUDED #define STRUCTURES_H_INCLUDED -/* \def TAILLE_MAX_CARTE */ +/*! \def TAILLE_MAX_CARTE */ #define TAILLE_MAX_CARTE 256 -/* \def TAILLE_NOMS */ +/*! \def TAILLE_NOMS */ #define TAILLE_NOMS 16 -/* \def TAILLE_MAX_GROUPE */ +/*! \def TAILLE_MAX_GROUPE */ #define TAILLE_MAX_GROUPE 3 /*! \enum boolean @@ -36,11 +36,11 @@ typedef enum {faux, vrai} boolean; * \brief Definition de la structure Type_terrain */ typedef struct { - char nom[TAILLE_NOMS];/*!< Nom du terrain. */ + char nomTerrain[TAILLE_NOMS];/*!< Nom du terrain. */ boolean franchissable;/*!< Le terrain est franchissable ou non par un personnage. */ boolean franchissable_sorts;/*!< Le terrain est franchissable ou non par un sort. */ unsigned short int PD_requis;/*!< Nombre de PD requis pour traverser le terrain. */ -}type_terrain; +}Type_Terrain; /*! \struct Case structures.h * \brief Definition de la structure Case @@ -48,7 +48,7 @@ typedef struct { typedef struct Case{ unsigned short int coord_x; /*!< Abscisse de la case*/ unsigned short int coord_y; /*!< Ordonnee de la case*/ - type_terrain *terrain; /*!< Le type de terrain de la case*/ + Type_Terrain * terrain; /*!< Le type de terrain de la case*/ boolean occupee; /*!< La case est occupee ou non par un personnage*/ } Case; @@ -57,7 +57,7 @@ typedef struct Case{ * * La carte est un tableau de Case de taille TAILLE_MAX_CARTE. */ -typedef Case carte[TAILLE_MAX_CARTE]; +typedef Case Carte[TAILLE_MAX_CARTE]; /*! \struct Effet structures.h * \brief Definition de la structure Personnage. @@ -112,7 +112,7 @@ typedef struct { */ typedef struct Competence{ unsigned short int id; /*!< Un entier qui represente la competence*/ - char nom[TAILLE_NOMS]; /*!< Nom de la competence de taille TAILLE_NOMS*/ + char nomComp[TAILLE_NOMS]; /*!< Nom de la competence de taille TAILLE_NOMS*/ unsigned short int etage; /*!< Etage de la competence dans l'arbre*/ struct competence *enfant_gauche; /*!< Pointeur vers le premier enfant de la competence*/ struct competence *enfant_droit; /*!< Pointeur vers le deuxieme enfant de la competence*/ @@ -123,12 +123,12 @@ typedef struct Competence{ /*! \struct Effet_competence structures.h * \brief Definition de la structure effet_competence */ -typedef struct Effet_competence{ +typedef struct Effet_Competence{ unsigned short int id; /*!< Un entier qui represente la competence*/ char nom[TAILLE_NOMS]; /*!< Nom de la competence de taille TAILLE_NOMS*/ /* effets à définir */ -}Effet_competence; +}Effet_Competence; /*! \struct Joueur structures.h * \brief Definition de la structure Joueur diff --git a/src/terrain.c b/src/terrain.c index d5c5ca6e429244cb74785773b49e8c1b3007a59d..2f888518947bab21d7f98e9318f0a305b919ff60 100644 --- a/src/terrain.c +++ b/src/terrain.c @@ -1,17 +1,19 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> #include "structures.h" #include "case.h" #include "personnage.h" #include "deplacements.h" -boolean terrain_franchissable(type_terrain *t){ +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){ +Type_Terrain * init_terrain(Type_Terrain * t, char * n, boolean f, unsigned short int PD){ t->franchissable=f; - t->nom=n; + strncpy(n,t->nomTerrain,TAILLE_NOMS-1); + t->nomTerrain[TAILLE_NOMS-1]='/0'; t->PD_requis=PD; return t; }