diff --git a/doc/~$uveau_Versionnage_EII.docx b/doc/~$uveau_Versionnage_EII.docx new file mode 100644 index 0000000000000000000000000000000000000000..387e934fd2728b119bbbf5aeff6c45854e9ba282 Binary files /dev/null and b/doc/~$uveau_Versionnage_EII.docx differ diff --git a/src/controleur.c b/src/controleur.c index 8aa77c1ffe8eb96cda83244c40d6042765935c9f..6cd7aaa1e02c90a91d721af39b54dd904f90680b 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)); + } } }