diff --git a/src/controleur.c b/src/controleur.c index 6cd7aaa1e02c90a91d721af39b54dd904f90680b..86bbd6616bfd98b1b587fc9e97da80ec46ecf72a 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -440,9 +440,9 @@ Personnage * trouverPersonnage(Case * c){ /*! * \fn char * obtenirNomClassePersonnage(int numero) * \brief La fonction renvoie le nom de la classe du Personnage en parrametre. - * Le numero correspond au placement du personnage tel qu'il est définit dans la sdl et va de 1 à 6 : - * Exemples : Le Personnage 0 du joueur 2 dans le moteur correspond au numero 4 pour la sdl. - * Le Personnage 1 du joueur 1 dans le moteur correspond au numero 2 pour la sdl. + * Le numero correspond au placement du personnage tel qu'il est défini dans la SDL et va de 1 à 6 : + * Exemples : Le Personnage 0 du joueur 2 dans le moteur correspond au numero 4 pour la SDL. + * Le Personnage 1 du joueur 1 dans le moteur correspond au numero 2 pour la SDL. * * \param Le numero du personnage pour la SDL. * \return Un char * vers le nom de la classe du Personnage. @@ -455,19 +455,28 @@ char * obtenirNomClassePersonnage(int numero){ if ((numero>0)&&(numero<=3)){ setOnFirstJoueur(getListJoueur(partieGlobale)); - nomClasse = getNomClasse(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1))); + strncpy(nomClasse, getNomClasse(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1))), TAILLE_NOMS); setOnJoueur(getListJoueur(partieGlobale),actuel); return nomClasse; } else if ((numero>3)&&(numero<=6)){ setOnFirstJoueur(getListJoueur(partieGlobale)); nextJoueur(getListJoueur(partieGlobale)); - nomClasse = getNomClasse(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4))); + strncpy(nomClasse, getNomClasse(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4))), TAILLE_NOMS); setOnJoueur(getListJoueur(partieGlobale),actuel); return nomClasse; } } - + /*! + * \fn int obtenirPVPersonnage(int numero) + * \brief La fonction renvoie le PV du Personnage en parametre. + * Le numero correspond au placement du personnage tel qu'il est défini dans la SDL et va de 1 à 6 : + * Exemples : Le Personnage 0 du joueur 2 dans le moteur correspond au numero 4 pour la SDL. + * Le Personnage 1 du joueur 1 dans le moteur correspond au numero 2 pour la SDL. + * + * \param Le numero du personnage pour la SDL. + * \return Un int vers le PV du Personnage. + */ int obtenirPVPersonnage(int numero){ Joueur * actuel = NULL; actuel = getCurrentJoueur(getListJoueur(partieGlobale)); @@ -491,7 +500,13 @@ int obtenirPVPersonnage(int numero){ return PVPersonnage; } - + /*! + * \fn int obtenirPVMaxPersonnage(int numero) + * \brief La fonction renvoie le PV max de la classe du Personnage en parametre. + * Le numero correspond au placement du personnage tel qu'il est défini dans la SDL et va de 1 à 6 + * \param Le numero du personnage pour la SDL. + * \return Un int vers le PV max de la classe du Personnage. + */ int obtenirPVMaxPersonnage(int numero){ Joueur * actuel = NULL; actuel = getCurrentJoueur(getListJoueur(partieGlobale)); @@ -514,7 +529,13 @@ int obtenirPVMaxPersonnage(int numero){ setOnJoueur(getListJoueur(partieGlobale), actuel); return PVMaxPersonnage; } - + /*! + * \fn int obtenirManaPersonnage(int numero) + * \brief La fonction renvoie le mana du Personnage en parametre. + * Le numero correspond au placement du personnage tel qu'il est défini dans la SDL et va de 1 à 6 + * \param Le numero du personnage pour la SDL. + * \return Un int vers le mana du Personnage. + */ int obtenirManaPersonnage(int numero){ Joueur * actuel = NULL; actuel = getCurrentJoueur(getListJoueur(partieGlobale)); @@ -537,7 +558,13 @@ int obtenirManaPersonnage(int numero){ setOnJoueur(getListJoueur(partieGlobale), actuel); return ManaPersonnage; } - + /*! + * \fn int obtenirManaMaxPersonnage(int numero) + * \brief La fonction renvoie le mana max de la classe du Personnage en parametre. + * Le numero correspond au placement du personnage tel qu'il est defini dans la SDL et va de 1 à 6 + * \param Le numero du personnage pour la SDL. + * \return Un int vers le mana max de la classe du Personnage. + */ int obtenirManaMaxPersonnage(int numero){ Joueur * actuel = NULL; actuel = getCurrentJoueur(getListJoueur(partieGlobale)); @@ -560,7 +587,13 @@ int obtenirManaMaxPersonnage(int numero){ setOnJoueur(getListJoueur(partieGlobale), actuel); return ManaMaxPersonnage; } - + /*! + * \fn int obtenirPDPersonnage(int numero) + * \brief La fonction renvoie le PD du Personnage en parametre. + * Le numero correspond au placement du personnage tel qu'il est defini dans la SDL et va de 1 à 6 + * \param Le numero du personnage pour la SDL. + * \return Un int vers le PD du Personnage. + */ int obtenirPDPersonnage(int numero){ Joueur * actuel = NULL; actuel = getCurrentJoueur(getListJoueur(partieGlobale)); @@ -583,7 +616,13 @@ int obtenirPDPersonnage(int numero){ setOnJoueur(getListJoueur(partieGlobale), actuel); return PDPersonnage; } - + /*! + * \fn int obtenirPDMaxPersonnage(int numero) + * \brief La fonction renvoie le PD max de la classe du Personnage en parametre. + * Le numero correspond au placement du personnage tel qu'il est défini dans la SDL et va de 1 à 6 + * \param Le numero du personnage pour la SDL. + * \return Un int vers le PD max de la classe du Personnage. + */ int obtenirPDMaxPersonnage(int numero){ Joueur * actuel = NULL; actuel = getCurrentJoueur(getListJoueur(partieGlobale)); @@ -607,9 +646,30 @@ int obtenirPDMaxPersonnage(int numero){ return PDMaxPersonnage; } -char ** obtenirNomsAttaquesPersonnage(int numero){ - -} + /*! + * \fn char ** obtenirNomsAttaquesPersonnage() + * \brief Fonction renvoyant un tableau de chaine de caractères contenant les noms des attaques des personnages. + * L'ordre et l'index des descriptions dans le tableau correspond à l'ordre dans lequel ils sont définis + * dans le fichier XML. + * + * \return un tableau de chaine de charactères (char**). + */ +/*char ** obtenirNomsAttaquesPersonnage(int numero){ + int i; + char ** tabNomsAttPerso = malloc(NB_ATTAQUES_MAX * sizeof(char *)); + for(i=0;i<NB_ATTAQUES_MAX;i++){ + tabNomsAttPerso[i]= malloc(TAILLE_NOMS*sizeof(char)); + } + if((numero>0) && (numero<=3)){ + for(i=0;i<NB_ATTAQUES_MAX;i++){ + strncpy(tabNomsAttPerso[i],packGlobal.Classes_Package->attaques->nom, TAILLE_NOMS); + } + } + else if ((numero>3)&&(numero>6)){ + strncpy(tabNomsAttPerso[i],packGlobal.Classes_Package->attaques->nom, TAILLE_NOMS); + } + return tabNomsAttPerso; +}*/ // 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(). diff --git a/src/deplacements.c b/src/deplacements.c index 113f3f76b37fe7882860d903d0106dbbd28c25e6..36798111884ecf68e6cd6ce2f813ecc64c4465e4 100644 --- a/src/deplacements.c +++ b/src/deplacements.c @@ -51,6 +51,8 @@ int deplacement_unitaire(Personnage *perso,Case * destination, int hauteur_case return 1; } + + /* Cette fonction devrait plutot renvoyer un tableau ou une liste de cases ou le deplacement est possible, pour la surbrillance on verra ca plus tard avec une fonction d'affichage specifique. */ @@ -66,3 +68,4 @@ int affichage_deplacements_possibles(Personnage *perso, Carte *c){ /* Met en sur } return 0; } + diff --git a/src/structures.h b/src/structures.h index 980793d0045be106f0637f05d97cb5de25a7628e..16f3a277dafb9b9bc117544f0884ab3434dab250 100644 --- a/src/structures.h +++ b/src/structures.h @@ -34,6 +34,8 @@ #define HAUT_MAX_CARTE 10 /*! \def TAILLE_CHEMIN */ #define TAILLE_CHEMIN 50 +/*! \def NB_ATTAQUES_MAX */ +#define NB_ATTAQUES_MAX 3 /*! \enum boolean * \brief Definition du type Boolean.