From 00a31f12189129027100f290fd26e456a043f261 Mon Sep 17 00:00:00 2001 From: ColinDrieu <colin.drieu@insa-rennes.fr> Date: Sat, 14 May 2016 17:42:45 +0200 Subject: [PATCH] Ajout de fonctions au fichier personnage.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fonctions permettant de tester les caractéristiques d'un Personnages et de les modifier. --- src/personnage.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ src/personnage.h | 7 ++++++ 2 files changed, 68 insertions(+) diff --git a/src/personnage.c b/src/personnage.c index ef57160..717d2c8 100644 --- a/src/personnage.c +++ b/src/personnage.c @@ -214,6 +214,67 @@ void setPD(Personnage * p, int n){ } } +/*! + * \fn void retraitMana(Personnage * p, int n) + * \brief La fonction retire n mana au Personnage en parrametre. + * Remarque : Pour ajouter, il suffit de choisir n négatif. + * + * \param Un pointeur vers un personnage, n le mana à retirer. + */ +void retraitMana(Personnage * p, int n){ + setMana(p, get_mana(p)-n); +} + +/*! + * \fn void retraitPV(Personnage * p, int n) + * \brief La fonction retire n PV au Personnage en parrametre. + * Remarque : Pour ajouter, il suffit de choisir n négatif. + * + * \param Un pointeur vers un personnage, n les PV à retirer. + */ +void retraitPV(Personnage * p, int n){ + setPV(p, get_PV(p)-n); +} + +/*! + * \fn void retraitPD(Personnage * p, int n) + * \brief La fonction retire n PD au Personnage en parrametre. + * Remarque : Pour ajouter, il suffit de choisir n négatif. + * + * \param Un pointeur vers un personnage, n les PD à retirer. + */ +void retraitPD(Personnage * p, int n){ + setPD(p, get_PD(p)-n); +} + +/*! + * \fn int personnageKO(Personnage * p) + * \brief La fonction teste si le Personnage est KO (s'il n'a plus de PV) + * + * \param Un pointeur vers un personnage. + * \return 1 si le Personnage est KO, 0 sinon. + */ +int personnageKO(Personnage * p){ + if(p->PV==0){ + return 1; + } + return 0; +} + +/*! + * \fn int manaSuffisant(Personnage * p, int mana) + * \brief La fonction teste si le personnage a un mana superieur ou egal au mana en parrametre. + * + * \param Un pointeur vers un personnage, un entier représentant la quantité de mana.? + * \return 1 si le Personnage a un mana supérieur ou égal au parrametre mana, 0 sinon. + */ +int manaSuffisant(Personnage * p, int mana){ + if(mana>=get_mana(p)){ + return 1; + } + return 0; +} + /* Cette fonction ne fonctionne plus, il faut une fonction qui accede aux effets. boolean est_paralyse(Personnage *p){ return p->paralyse; diff --git a/src/personnage.h b/src/personnage.h index 9e54640..5aeaf06 100644 --- a/src/personnage.h +++ b/src/personnage.h @@ -32,6 +32,13 @@ void setPV(Personnage * p, int n); void setMana(Personnage * p, int n); void setPD(Personnage * p, int n); +void retraitMana(Personnage * p, int n); +void retraitPV(Personnage * p, int n); +void retraitPD(Personnage * p, int n); + +int personnageKO(Personnage * p); +int manaSuffisant(Personnage * p, int mana); + Classe * getClasse(Personnage *p); char * getNomPersonnage(Personnage * p); -- GitLab