From 1973581181d864316dbd8d980e6bbcc011139cfe Mon Sep 17 00:00:00 2001
From: Marie Brunet Carteaux <marie.brunet@insa-rennes.fr>
Date: Thu, 12 May 2016 17:04:18 +0200
Subject: [PATCH] =?UTF-8?q?Code=20des=20fonctions=20de=20contr=C3=B4leur?=
 =?UTF-8?q?=20donnant=20acc=C3=A8s=20aux=20caract=C3=A9ristiques=20des=20p?=
 =?UTF-8?q?ersonnages?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 doc/~$uveau_Versionnage_EII.docx | Bin 0 -> 162 bytes
 src/controleur.c                 | 158 +++++++++++++++++++++++++++++--
 2 files changed, 150 insertions(+), 8 deletions(-)
 create mode 100644 doc/~$uveau_Versionnage_EII.docx

diff --git a/doc/~$uveau_Versionnage_EII.docx b/doc/~$uveau_Versionnage_EII.docx
new file mode 100644
index 0000000000000000000000000000000000000000..387e934fd2728b119bbbf5aeff6c45854e9ba282
GIT binary patch
literal 162
zcmWgeO)SbxRd7;pb_@z}bqtMQAO;99_%b9i6ftBnq%tTlI03OUgCj!_LkNQ_kPc;l
ynR4vFwF3++3_Y>J0<0i&85x3sYJwOd8DikpFhW_bK>Eyq7Y7(v89LySKn4I(4ilmP

literal 0
HcmV?d00001

diff --git a/src/controleur.c b/src/controleur.c
index 8aa77c1..6cd7aaa 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -191,7 +191,7 @@ char ** obtenirLignesCarte(int numCarte){
  */
 char ** obtenirDescriptionCarte(){
     int i;
-    //Allocation du tableau contenant les chaines de charactères
+    //Allocation du tableau contenant les chaines de caractères
     char ** tabDescCartes = malloc((getNbCartes(packGlobal))*sizeof(char *));
     for(i=0;i<getNbCartes(packGlobal);i++){
         tabDescCartes[i]= malloc(100*sizeof(char));
@@ -468,13 +468,148 @@ char * obtenirNomClassePersonnage(int numero){
     }
 }
 
-int obtenirPVPersonnage(int numero);
-int obtenirPVMaxPersonnage(int numero);
-int obtenirManaPersonnage(int numero);
-int obtenirManaMaxPersonnage(int numero);
-int obtenirPDPersonnage(int numero);
-int obtenirPDMaxPersonnage(int numero);
-char ** obtenirNomsAttaquesPersonnage(int numero);
+int obtenirPVPersonnage(int numero){
+    Joueur * actuel = NULL;
+    actuel = getCurrentJoueur(getListJoueur(partieGlobale));
+    int PVPersonnage = -1;
+
+    if((numero>0)&&(numero<=3)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        PVPersonnage = get_PV(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PVPersonnage;
+    }
+
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        PVPersonnage = get_PV(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PVPersonnage;
+    }
+    setOnJoueur(getListJoueur(partieGlobale),actuel);
+    return PVPersonnage;
+}
+
+
+int obtenirPVMaxPersonnage(int numero){
+    Joueur * actuel = NULL;
+    actuel = getCurrentJoueur(getListJoueur(partieGlobale));
+    int PVMaxPersonnage = -1;
+
+    if((numero>0)&&(numero<=3)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        PVMaxPersonnage = getPVMax(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1)));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PVMaxPersonnage;
+    }
+
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        PVMaxPersonnage = getPVMax(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4)));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PVMaxPersonnage;
+    }
+    setOnJoueur(getListJoueur(partieGlobale), actuel);
+    return PVMaxPersonnage;
+}
+
+int obtenirManaPersonnage(int numero){
+    Joueur * actuel = NULL;
+    actuel = getCurrentJoueur(getListJoueur(partieGlobale));
+    int ManaPersonnage = -1;
+
+    if((numero>0)&&(numero<=3)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        ManaPersonnage = get_mana(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return ManaPersonnage;
+    }
+
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        ManaPersonnage = get_mana(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return ManaPersonnage;
+    }
+    setOnJoueur(getListJoueur(partieGlobale), actuel);
+    return ManaPersonnage;
+}
+
+int obtenirManaMaxPersonnage(int numero){
+    Joueur * actuel = NULL;
+    actuel = getCurrentJoueur(getListJoueur(partieGlobale));
+    int ManaMaxPersonnage = -1;
+
+    if((numero>0)&&(numero<=3)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        ManaMaxPersonnage = getManaMax(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)), numero-1)));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return ManaMaxPersonnage;
+    }
+
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        ManaMaxPersonnage = getManaMax(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)), numero-4)));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return ManaMaxPersonnage;
+    }
+    setOnJoueur(getListJoueur(partieGlobale), actuel);
+    return ManaMaxPersonnage;
+}
+
+int obtenirPDPersonnage(int numero){
+    Joueur * actuel = NULL;
+    actuel = getCurrentJoueur(getListJoueur(partieGlobale));
+    int PDPersonnage = -1;
+
+    if((numero>0)&&(numero<=3)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        PDPersonnage = get_PD(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PDPersonnage;
+    }
+
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        PDPersonnage = get_PD(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PDPersonnage;
+    }
+    setOnJoueur(getListJoueur(partieGlobale), actuel);
+    return PDPersonnage;
+}
+
+int obtenirPDMaxPersonnage(int numero){
+    Joueur * actuel = NULL;
+    actuel = getCurrentJoueur(getListJoueur(partieGlobale));
+    int PDMaxPersonnage = -1;
+
+    if((numero>0)&&(numero<=3)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        PDMaxPersonnage = getPDMax(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1)));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PDMaxPersonnage;
+    }
+
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        PDMaxPersonnage = getPDMax(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4)));
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
+        return PDMaxPersonnage;
+    }
+    setOnJoueur(getListJoueur(partieGlobale), actuel);
+    return PDMaxPersonnage;
+}
+
+char ** obtenirNomsAttaquesPersonnage(int numero){
+
+}
 
 // Je met ici mes tests réalisés dans le main pour éviter de les réécrire si jamais il y a un problème.
 // Si vous voulez tester aussi, à recopier dans le main avant l'appel à initJeu().
@@ -526,6 +661,13 @@ void testControlleurConsole(){
                     n=4+getIndicePersonnage((getListJoueur(partieGlobale)->lastNodeJoueur->j),trouverPersonnage(getCase(getCarte(partieGlobale),i,j)));
                 }
                 printf("%s\n", obtenirNomClassePersonnage(n));
+                printf("%s\n", obtenirPVPersonnage(n));
+                printf("%s\n", obtenirPVMaxPersonnage(n));
+                printf("%s\n", obtenirManaPersonnage(n));
+                printf("%s\n", obtenirManaMaxPersonnage(n));
+                printf("%s\n", obtenirPDPersonnage(n));
+                printf("%s\n", obtenirPDMaxPersonnage(n));
+
             }
         }
     }
-- 
GitLab