From a718ba56ab329a46e24f7c481002791d839cab76 Mon Sep 17 00:00:00 2001 From: Romain Jegat <romain.jegat@insa-rennes.fr> Date: Fri, 6 May 2016 15:50:30 +0200 Subject: [PATCH] Ajout d'une fonction de construction d'un personnage de base --- src/personnage.c | 36 +++++++++++++++++++++++++++++++++--- src/personnage.h | 2 ++ 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/personnage.c b/src/personnage.c index b15c380..555d282 100644 --- a/src/personnage.c +++ b/src/personnage.c @@ -10,7 +10,15 @@ * \brief Fichier contenant le code des fonctions liees aux personnages. */ -Personnage* init_personnage(Personnage *perso){ +/*! + * \fn Personnage* init_personnage(Personnage *perso) + * \brief La fonction initialise un Personnage. + * + * \param Un personnage. + * \return Un personnage initialisé. + */ +Personnage* init_personnage(Personnage *perso) +{ perso->classe=NULL; perso->points_deplacement=0; perso->PV=0; @@ -19,8 +27,15 @@ Personnage* init_personnage(Personnage *perso){ return perso; } - -Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart){ +/*! + * \fn Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart)) + * \brief La fonction initialise un Personnage. + * + * \param Un personnage. + * \return Un personnage initialisé. + */ +Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart) +{ perso->classe=c; if(c!=NULL){ perso->points_deplacement=c->points_deplacement_max; @@ -32,6 +47,21 @@ Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart){ return perso; } +/*! + * \fn Personnage* default_personnage(int numero, Game_Package Pack) + * \brief La fonction construit un personnage par default, a partir de ses caracteristiques dans le fichier Classes.xml + * + * \param Un personnage, un game_package. + * \return Un personnage pret a l'action. + */ +Personnage* default_personnage(int numero, Game_Package Pack) +{ + Personnage* Perso; + set_personnage(Perso, &Pack.Classes_Package[numero], NULL); + return Perso; +} + + Classe * getClasse(Personnage *p){ return p->classe; } diff --git a/src/personnage.h b/src/personnage.h index 2874310..22f9cdc 100644 --- a/src/personnage.h +++ b/src/personnage.h @@ -10,6 +10,8 @@ Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart); Personnage* init_personnage(Personnage *perso); +Personnage* default_personnage(int numero, Game_Package Pack); + Case* getPosition(Personnage *p); int get_PV(Personnage *p); -- GitLab