diff --git a/src/carte.c b/src/carte.c index 51c57fb788d15610dc72d206f9a8317f628031ad..2c778f39a685e1c511b6d30cb520adc6f4006998 100644 --- a/src/carte.c +++ b/src/carte.c @@ -78,7 +78,13 @@ char* LireCarte(const char *filename, int num) return TableauCarte; } - +/*! + * \fn Carte_A* ExtraireCartesXML(const char *filename) + * \brief La fonction extrait une carte à partir d'en fichier xml. + * + * \param Un nom de fichier. + * \return une carte. + */ Carte_A* ExtraireCartesXML(const char *filename) { node_t *rootXML, *Maps; diff --git a/src/classe.c b/src/classe.c index fe557e272b3f87f81788efe4d12633ec322632b9..7c32edf8d85ea278a31e93deb2ba79567637f9c0 100644 --- a/src/classe.c +++ b/src/classe.c @@ -16,7 +16,13 @@ return Remplir_Classes_log(filename); } -/* Generation d'un fichier log decrivant le deroulement de la procedure d'aquisition des classes */ +/*! + * \fn Classe* Remplir_Classes_log(char *filename) + * \brief La fonction remplit un tableau de classes a partir d'un fichier xml. + * + * \param Le nom du fichier a lire. + * \return Un tableau de classes. + */ Classe* Remplir_Classes_log(char *filename) { int ret = 0; @@ -36,7 +42,7 @@ Classe* Remplir_Classes_log(char *filename) return ret; } - /*! +/*! * \fn int getPVMax(Classe * c) * \brief La fonction retourne le nombre de PV maximum de la Classe. * @@ -47,7 +53,7 @@ int getPVMax(Classe * c){ return c->PV_max; } - /*! +/*! * \fn int getManaMax(Classe * c) * \brief La fonction retourne le Mana maximum de la Classe. * @@ -58,7 +64,7 @@ int getManaMax(Classe * c){ return c->mana_max; } - /*! +/*! * \fn int getManaMax(Classe * c) * \brief La fonction retourne le nombre de PD maximum de la Classe. * @@ -69,7 +75,7 @@ int getPDMax(Classe * c){ return c->points_deplacement_max; } - /*! +/*! * \fn int getNomClasse(Classe * c) * \brief La fonction retourne un pointeur vers le nom de la Classe. * diff --git a/src/competence.c b/src/competence.c index d9934dfb6cb4fc92ea124b3ea7899d3c8a23962e..2d7460e631b9ba04602bdcced70736d46ec35674 100644 --- a/src/competence.c +++ b/src/competence.c @@ -69,11 +69,14 @@ int aUnFrere(Competence *c) return(c->frere!=NULL); } -/* -------------------------------------------------------*/ -/* Fonctions de set des competences */ -/* -------------------------------------------------------*/ - -int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) /* Ne fonctionne pas */ +/*! + * \fn int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) + * \brief La fonction attribue un enfant à un noeud d'un arbre de competences. + * + * \param Une competence parent, une competence enfant. + * \return Un entier. + */ + int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) { if(estVide(parent)) { @@ -86,6 +89,13 @@ int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) /* Ne foncti return 0; } +/*! + * \fn set_comp_frere(Competence *noeud, Competence *nouveau_frere) + * \brief La fonction attribue un frere à un noeud d'un arbre de competences. + * + * \param Une competence parent, une competence frere. + * \return Un entier. + */ int set_comp_frere(Competence *noeud, Competence *nouveau_frere) { if(aUnFrere(noeud)) @@ -99,39 +109,64 @@ int set_comp_frere(Competence *noeud, Competence *nouveau_frere) return 0; } +/*! + * \fn int set_comp_name(Competence *comp, char *nom_donne) + * \brief La fonction definit le nom d'une competence. + * + * \param Une competence, une chaine de caracteres. + * \return Un entier. + */ int set_comp_name(Competence *comp, char *nom_donne) { strcpy(comp->nomComp, nom_donne); return 0; } +/*! + * \fn int set_comp_id(Competence *comp, char *nom_donne) + * \brief La fonction definit l'ID d'une competence. + * + * \param Une competence, une chaine de caracteres. + * \return Un entier. + */ int set_comp_id(Competence *comp, char *nom_donne) { strcpy(comp->id, nom_donne); return 0; } +/*! + * \fn int set_comp_prix(Competence *comp, int prix) + * \brief La fonction definit le prix d'une competence. + * + * \param Une competence, un entier. + * \return Un entier. + */ int set_comp_prix(Competence *comp, int prix) { comp->prix_competence=prix; return 0; } +/*! + * \fn int set_comp_effet(Competence *comp, Effet_Competence *nouvel_effet) + * \brief La fonction ajoute un effet a une competence. + * + * \param Une competence, un effet. + * \return Un entier. + */ int set_comp_effet(Competence *comp, Effet_Competence *nouvel_effet) { comp->effet = nouvel_effet; return 0; } -/* -------------------------------------------------------*/ -/* -------------------------------------------------------*/ -/* -------------------------------------------------------*/ - /*! * \fn int taille(Competence *noeud) * \brief La fonction renvoie le nombre d'enfants totaux d'une competence. * + * \param Une competence. * \return Un entier positif. */ int taille(Competence *noeud) @@ -147,6 +182,7 @@ int taille(Competence *noeud) * \fn unsigned int hauteur(Competence *noeud) * \brief La fonction indique la hauteur d'une competence dans l'arbre. * + * \param Une competence. * \return Un entier positif. */ unsigned int hauteur(Competence *noeud) @@ -172,6 +208,7 @@ unsigned int hauteur(Competence *noeud) * \fn boolean est_connue(Competence *c) * \brief La fonction indique si une competence est connue ou non. * + * \param Une competence. * \return vrai ou faux. */ boolean est_connue(Competence *c) @@ -183,7 +220,7 @@ boolean est_connue(Competence *c) /*! * \fn unsigned int * NbEnfants(Competence *noeud) * \brief La fonction renvoie le nombre d'enfants d'une competence. - * + * \param Une competence. * \return Un entier positif. */ unsigned int NbEnfants(Competence *noeud) @@ -207,6 +244,7 @@ unsigned int NbEnfants(Competence *noeud) * \fn boolean * est_complet(Competence *noeud) * \brief La fonction verifie si l'arbre est complet ou non. * + * \param Une competence. * \return Un booleen. */ boolean est_complet(Competence *noeud) @@ -220,16 +258,37 @@ boolean est_complet(Competence *noeud) return 1; } -int chemin_auto_competence(Competence* c) /* Renvoie la liste des compétences non connues se trouvant sur le chemin d'une compétence sélectionnée */ +/*! + * \fn boolean * est_complet(Competence *noeud) + * \brief La fonction renvoie la liste des compétences non connues se trouvant sur le chemin d'une compétence sélectionnée. + * + * \param Une competence. + * \return Un tableau de competences. + */ +int chemin_auto_competence(Competence* c) /* A FAIRE */ { return 0; } -Effet_Competence * get_effet(Competence *c) /* Renvoie l'effet d'une competence */ +/*! + * \fn Effet_Competence * get_effet(Competence *c) + * \brief Renvoie l'effet d'une competence + * + * \param Une competence. + * \return Un Effet_Competence. + */ +Effet_Competence * get_effet(Competence *c) { return c->effet; } +/*! + * \fn int Extraire_Comp_Tree(node_t *arbreXML, Competence* arbreComp) + * \brief Lie tous les noeuds d'un arbre de competences. + * + * \param Un pointeur sur un arbre, un pointeur sur une competence. + * \return Un entier. + */ int Extraire_Comp_Tree(node_t *arbreXML, Competence* arbreComp) { int nb_Comp=0, i=0; @@ -259,7 +318,13 @@ int Extraire_Comp_Tree(node_t *arbreXML, Competence* arbreComp) return 0; } - +/*! + * \fn Competence* Extraire_Arbres(char *filename) + * \brief Extrait les arbres de competences depuis un fichier xml. + * + * \param Un nom de fichier. + * \return Un tableau de competences. + */ Competence* Extraire_Arbres(char *filename) { node_t *rootXML, *Arbres; @@ -269,16 +334,15 @@ Competence* Extraire_Arbres(char *filename) rootXML = roxml_load_doc(filename); Arbres = roxml_get_chld(rootXML,"Arbres",0); - /* ---------------------------------------------------------------------------------------------- */ - /* Extraction des arbres */ - /* ---------------------------------------------------------------------------------------------- */ Extraire_Comp_Tree(Arbres, Arbre_Competences); return Arbre_Competences; } +/* Fonction de test (Romain) */ +/* int Test_Competences() { int ret = 0; @@ -291,18 +355,18 @@ int Test_Competences() Comp_Test_Petit_Enfant = init_Competence(); Comp_Test_Frere_Enfant = init_Competence(); - if(estVide(Comp_Test_Parent)) /* Test de estVide() */ + if(estVide(Comp_Test_Parent)) { printf("Parent n'a pas d'enfants\n"); } - printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); /* Vaut NULL après l'init */ + printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); set_comp_prix(Comp_Test_Parent, 4); set_comp_name(Comp_Test_Parent, "Pepe"); set_comp_id(Comp_Test_Parent, "ID_PE"); - printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); /* Vaut bien le nom */ + printf("Le nom de parent est : %s\n", Comp_Test_Parent->nomComp); set_comp_name(Comp_Test_Enfant, "Papa"); set_comp_id(Comp_Test_Enfant, "ID_PA"); @@ -311,15 +375,13 @@ int Test_Competences() set_comp_name(Comp_Test_Frere_Enfant, "Tonton"); set_comp_id(Comp_Test_Frere_Enfant, "ID_TON"); - /* Tests */ printf("Le prix de Parent est %d\n", Comp_Test_Parent->prix_competence); printf("Le nom de Parent est %s\n", Comp_Test_Parent->nomComp); printf("L'ID de Parent est %s\n", Comp_Test_Parent->id); - /* ---- */ - set_comp_enfant(Comp_Test_Parent, Comp_Test_Enfant); /* Association Parent-Enfant */ + set_comp_enfant(Comp_Test_Parent, Comp_Test_Enfant); - set_comp_enfant(Comp_Test_Parent, Comp_Test_Frere_Enfant); /* Insertion d'un deuxième enfant (qui doit devenir le frère du premier) */ + set_comp_enfant(Comp_Test_Parent, Comp_Test_Frere_Enfant); printf("\nL'enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->nomComp); printf("L'autre enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->frere->nomComp); @@ -327,7 +389,7 @@ int Test_Competences() return 0; } - +*/ diff --git a/src/partie.c b/src/partie.c index cb987db0702751d6f64b6e30620e5b68b5acecd9..7db6e8238f6aa269e1c8594d431de1d66a43f0c2 100644 --- a/src/partie.c +++ b/src/partie.c @@ -39,7 +39,7 @@ free(p); } - /*! +/*! * \fn int getNbTour(Partie * p) * \brief La fonction renvoie le nombre de tours actuel de la Partie. * diff --git a/src/personnage.c b/src/personnage.c index b15c380793978df5809554d29320ecfdce553515..bbbf010012ecf2e4021b3c175ebe60b18ce7a05a 100644 --- a/src/personnage.c +++ b/src/personnage.c @@ -10,7 +10,15 @@ * \brief Fichier contenant le code des fonctions liees aux personnages. */ -Personnage* init_personnage(Personnage *perso){ +/*! + * \fn Personnage* init_personnage(Personnage *perso) + * \brief La fonction initialise un Personnage. + * + * \param Un personnage. + * \return Un personnage initialisé. + */ +Personnage* init_personnage(Personnage *perso) +{ perso->classe=NULL; perso->points_deplacement=0; perso->PV=0; @@ -19,8 +27,15 @@ Personnage* init_personnage(Personnage *perso){ return perso; } - -Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart){ +/*! + * \fn Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart)) + * \brief La fonction initialise un Personnage. + * + * \param Un personnage. + * \return Un personnage initialisé. + */ +Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart) +{ perso->classe=c; if(c!=NULL){ perso->points_deplacement=c->points_deplacement_max; @@ -32,22 +47,71 @@ Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart){ return perso; } +/*! + * \fn Personnage* default_personnage(int numero, Game_Package Pack) + * \brief La fonction construit un personnage par default, a partir de ses caracteristiques dans le fichier Classes.xml + * + * \param Un personnage, un game_package. + * \return Un personnage pret a l'action. + */ +Personnage* default_personnage(int numero, Game_Package Pack) +{ + Personnage* Perso; + set_personnage(Perso, &Pack.Classes_Package[numero], NULL); + return Perso; +} + +/*! + * \fn Classe * getClasse(Personnage *p) + * \brief La fonction renvoie la classe d'un personnage. + * + * \param Un personnage. + * \return une classe. + */ Classe * getClasse(Personnage *p){ return p->classe; } +/*! + * \fn Classe * getPosition(Personnage *p) + * \brief La fonction renvoie la position d'un personnage. + * + * \param Un personnage. + * \return une position. + */ Case * getPosition(Personnage *p){ return p->position; } +/*! + * \fn Classe * get_PV(Personnage *p) + * \brief La fonction renvoie les points de vie d'un personnage. + * + * \param Un personnage. + * \return un entier. + */ int get_PV(Personnage *p){ return p->PV; } +/*! + * \fn Classe * get_mana(Personnage *p) + * \brief La fonction renvoie les points de mana d'un personnage. + * + * \param Un personnage. + * \return un entier. + */ int get_mana(Personnage *p){ return p->mana; } +/*! + * \fn Classe * get_PD(Personnage *p) + * \brief La fonction renvoie les points de vie d'un personnage. + * + * \param Un personnage. + * \return un entier. + */ int get_PD(Personnage *p){ return p->points_deplacement; } @@ -58,6 +122,13 @@ boolean est_paralyse(Personnage *p){ } */ +/*! + * \fn deplacer_personnage (Personnage *perso, Case *destination) + * \brief La fonction deplace un personnage. + * + * \param Un personnage, une case. + * \return un entier. + */ int deplacer_personnage (Personnage *perso, Case *destination){ /*déplace un personnage d'une case à une autre. Ne vérifie pas si le déplacement est autorisé, cela doit être fait par la fonction qui l'appelle*/ marquer_libre(getPosition(perso)); perso->position=destination; @@ -66,7 +137,7 @@ int deplacer_personnage (Personnage *perso, Case *destination){ /*d return 1; } - /*! +/*! * \fn int estSurLaCase(Personnage * p, Case * c) * \brief La fonction teste si un Personnage est sur une Case. * @@ -77,7 +148,7 @@ int estSurLaCase(Personnage * p, Case * c){ return c==getPosition(p); } - /*! +/*! * \fn char * getNomPersonnage(Personnage * p) * \brief La fonction renvoie le nom d'un Personnage. * diff --git a/src/personnage.h b/src/personnage.h index 2874310994b7d26c0e3d68f9615032fc98bb6ac0..22f9cdce99bf3be565eb75e48902b5e518891d8d 100644 --- a/src/personnage.h +++ b/src/personnage.h @@ -10,6 +10,8 @@ Personnage* set_personnage(Personnage *perso, Classe *c, Case *casedepart); Personnage* init_personnage(Personnage *perso); +Personnage* default_personnage(int numero, Game_Package Pack); + Case* getPosition(Personnage *p); int get_PV(Personnage *p);