diff --git a/src/controleur.c b/src/controleur.c index 50f0a38b156df610cc2423f9592c614f25ca9dbb..f7f1b5329bb9e9383eb70af9e0015ec4d6b890c3 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -50,6 +50,16 @@ void initJeu(){ } } + /*! + * \fn int nbClasses() + * \brief Fonction renvoyer le nombre de classes contenues dans le package du jeu + * + * \return le nombre de classes contenues dans le package du jeu + */ + int nbClasses(){ + return getNbClasses(packGlobal); +} + /*! * \fn char ** obtenirNomsClasses() * \brief Fonction renvoyant un tableau de chaine de caractères contenant les noms des Classes. @@ -73,9 +83,6 @@ void initJeu(){ return tabNomClasses; } -int nbClasses(){ - return getNbClasses(packGlobal); -} /*! * \fn char ** obtenirSkinsClasses() * \brief Fonction renvoyant un tableau de chaine de caractères contenant le chemin vers les Skins des Classes. @@ -99,6 +106,59 @@ int nbClasses(){ return tabSkinsClasses; } + /*! + * \fn int nbClasses() + * \brief Fonction renvoyer le nombre de classes contenues dans le package du jeu + * + * \return le nombre de classes contenues dans le package du jeu + */ +int nbCartes(){ + return getNbCartes(packGlobal); +} + + /*! + * \fn char ** obtenirNomsCartes() + * \brief Fonction renvoyant un tableau de chaine de caractères contenant les noms des Cartes. + * L'ordre et l'index des noms 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 ** obtenirNomsCartes(){ + int i; + //Allocation du tableau contenant les chaines de charactères + char ** tabNomsCartes = malloc((getNbCartes(packGlobal))*sizeof(char *)); + for(i=0;i<getNbCartes(packGlobal);i++){ + tabNomsCartes[i]= malloc(TAILLE_CHEMIN*sizeof(char)); + } + //Copie des noms des cartes dans le tableau + for(i=0;i<getNbCartes(packGlobal);i++){ + strncpy(tabNomsCartes[i],packGlobal.Cartes_Package->nom, TAILLE_CHEMIN); + } + return tabNomsCartes; +} + + /*! + * \fn char ** obtenirDescriptionCarte() + * \brief Fonction renvoyant un tableau de chaine de caractères contenant les descriptions des Cartes. + * 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 ** obtenirDescriptionCarte(){ + int i; + //Allocation du tableau contenant les chaines de charactères + char ** tabDescCartes = malloc((getNbCartes(packGlobal))*sizeof(char *)); + for(i=0;i<getNbCartes(packGlobal);i++){ + tabDescCartes[i]= malloc(100*sizeof(char)); + } + //Copie des descriptions des cartes dans le tableau + for(i=0;i<getNbCartes(packGlobal);i++){ + strncpy(tabDescCartes[i],packGlobal.Cartes_Package->desc, 100); + } + return tabDescCartes; +} diff --git a/src/controleur.h b/src/controleur.h index 6a20ad4f5ffd19441536198e3ad86050d8baa0ac..433707ac1c04719c18673019cbb6baf522899bd8 100644 --- a/src/controleur.h +++ b/src/controleur.h @@ -12,9 +12,14 @@ void initJeu(); void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat); +int nbClasses(); char ** obtenirNomsClasses(); char ** obtenirSkinsClasses(); -int nbClasses(); + +int nbCartes(); +char ** obtenirNomsCartes(); +char ** obtenirDescriptionCarte(); + #endif // CONTROLEUR_H