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