diff --git a/resources/Skins/logo.bmp b/resources/Skins/logo.bmp index 2b94361ebe11f42d60c21bd15bf72ef02431e106..be85a439eccdcf174290477a71975caef2d9ab5e 100644 Binary files a/resources/Skins/logo.bmp and b/resources/Skins/logo.bmp differ diff --git a/src/classe.c b/src/classe.c index 8a44840f173534add844d8c2408a1ac8bf911758..6b62c19a3b7d94a186ade1a137e6b7ffa5233c3b 100644 --- a/src/classe.c +++ b/src/classe.c @@ -86,5 +86,9 @@ char * getNomClasse(Classe * c){ return c->nom; } +char * getNomAttaques(Classe * c, int i){ + return c->attaques[i].nom; +} + diff --git a/src/classe.h b/src/classe.h index 9bea4f5826ca33413825c96071966a9133f02281..65a228c7ae58e6f0954bc5cd9739c78b5f87cfb8 100644 --- a/src/classe.h +++ b/src/classe.h @@ -26,4 +26,6 @@ int getManaMax(Classe * c); int getPDMax(Classe * c); +char * getNomAttaques(Classe * c, int i); + #endif // CLASSE_H_INCLUDED diff --git a/src/controleur.c b/src/controleur.c index 76db9ed18c21985340e78b42fea89a296da6a29a..3f65b18569222203aaa8f16a3fa49df06af67fdd 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -770,22 +770,33 @@ int obtenirPDMaxPersonnage(int numero){ * * \return un tableau de chaine de charactères (char**). */ -/*char ** obtenirNomsAttaquesPersonnage(int numero){ +char ** obtenirNomsAttaquesPersonnage(int numero){ + //allocation en memoire du tableau de resultats. int i; + Joueur * actuel = getCurrentJoueur(getListJoueur(partieGlobale)); char ** tabNomsAttPerso = malloc(NB_ATTAQUES_MAX * sizeof(char *)); for(i=0;i<NB_ATTAQUES_MAX;i++){ tabNomsAttPerso[i]= malloc(TAILLE_NOMS*sizeof(char)); } + + //Recherche du nom des attaques du Personnage if((numero>0) && (numero<=3)){ - for(i=0;i<NB_ATTAQUES_MAX;i++){ - strncpy(tabNomsAttPerso[i],packGlobal.Classes_Package->attaques->nom, TAILLE_NOMS); - } + setOnFirstJoueur(getListJoueur(partieGlobale)); + for(i=0;i<NB_ATTAQUES_MAX;i++){ + strncpy(tabNomsAttPerso[i], getNomAttaques(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1)),i),TAILLE_NOMS); + } + setOnJoueur(getListJoueur(partieGlobale),actuel); } - else if ((numero>3)&&(numero>6)){ - strncpy(tabNomsAttPerso[i],packGlobal.Classes_Package->attaques->nom, TAILLE_NOMS); + else if ((numero>3)&&(numero<=6)){ + setOnFirstJoueur(getListJoueur(partieGlobale)); + nextJoueur(getListJoueur(partieGlobale)); + for(i=0;i<NB_ATTAQUES_MAX;i++){ + strncpy(tabNomsAttPerso[i], getNomAttaques(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4)),i),TAILLE_NOMS); + } + setOnJoueur(getListJoueur(partieGlobale),actuel); } return tabNomsAttPerso; -}*/ +} /*! * \fn void debutDuTour() @@ -828,7 +839,7 @@ char * joueurVictorieux(){ // 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(). void testControlleurConsole(){ - int i,j,n,x,y; + int i,j,n,k,x,y; EtatsJeu state = SAISIE_JOUEURS; extern Partie * partieGlobale; extern Game_Package packGlobal; @@ -884,6 +895,10 @@ void testControlleurConsole(){ printf("%d\n", obtenirManaMaxPersonnage(n)); printf("%d\n", obtenirPDPersonnage(n)); printf("%d\n", obtenirPDMaxPersonnage(n)); + char ** tabNomAtt = obtenirNomsAttaquesPersonnage(n); + for(k=0;k<NB_ATTAQUES_MAX;k++){ + printf("%s\n",tabNomAtt[k]); + } } } } diff --git a/src/structures.h b/src/structures.h index c606279cac91b02d916b1468ceffd391646ae411..d345a06d6a075391d37828e68fc52e052d80cf2c 100644 --- a/src/structures.h +++ b/src/structures.h @@ -135,7 +135,7 @@ typedef struct Attaque{ */ typedef struct Classe{ char nom[25]; /*!< Nom de la classe de taille TAILLE_NOMS*/ - Attaque attaques[5]; /*!< Les attaques disponibles pour la classe*/ + Attaque attaques[NB_ATTAQUES_MAX]; /*!< Les attaques disponibles pour la classe*/ unsigned short int points_deplacement_max; /*!< Les PD maximums accordés a la classe*/ unsigned short int PV_max; /*!< Les PV maximums accordés a la classe*/ unsigned short int mana_max; /*!< Le mana maximum accordé a la classe*/