Skip to content
Snippets Groups Projects
Commit a4799783 authored by ColinDrieu's avatar ColinDrieu
Browse files
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
parents 66991c30 9dd93e84
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -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;
......
......@@ -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.
*
......
......@@ -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;
}
*/
......@@ -39,7 +39,7 @@
free(p);
}
/*!
/*!
* \fn int getNbTour(Partie * p)
* \brief La fonction renvoie le nombre de tours actuel de la Partie.
*
......
......@@ -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.
*
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment