avancement doxy

This commit is contained in:
2024-12-20 14:20:41 +01:00
parent 9969cede22
commit 82719e8448

View File

@@ -14,7 +14,7 @@
/** /**
* \brief Cette fonction permet de creer une liste 2D carre * \brief Cette fonction permet de creer une liste 2D carre
* \param N La valeur N est le nombre d'élément dans le tableau. * \param N La valeur N est le nombre d'élément dans le tableau.
* \return Le tableau 2D carre * \return Le pointeur du tableau 2D carre de char (1 octet).
*/ */
char **creatArea2D (const unsigned int N) char **creatArea2D (const unsigned int N)
{ {
@@ -49,6 +49,12 @@ char **creatArea2D (const unsigned int N)
return tab2d; return tab2d;
} }
/**
* \brief Cette fontion permet de liberer l'espace tu tableau 2D de char.
* \param tab Le tableau 2D.
* \param N Le nombre d'éléments.
* \return Void.
*/
void free2D (char **tab, int N) void free2D (char **tab, int N)
{ {
int i; int i;
@@ -60,8 +66,17 @@ void free2D (char **tab, int N)
return; return;
} }
short int canIGoDirection (short int valueOfNCase, /**
short int valueOfNPlusOneCase) * \brief La fontction permet de savoir si le joueur peut ce deplacer dans une direction.
* \param valueOfNCase La valeur de la case dans la direction que le joueur veut aller.
* \param valueOfNPlusOneCase La valeur de la case dans la direction que le joueur veut aller mais une fois de plus.
* \return 0 Si c'est un mur devant le joueur, 1 si c'est vide devant le joueur, 2 si c'est une boite mais qu'on peux la pousser
* ,3 si le joueur pousse une boite sur un point d'interer, 4 si le joueur bouge sur un point d'interer, 5 si le joueur peux pousser
* une boite mais le joueur se place sur un point d'interer et 6 si le joeuur pousse une boite sur un point d'interer et que le joueu
* est aussi sur un point d'interer.
*/
char canIGoDirection (char valueOfNCase,
char valueOfNPlusOneCase)
{ {
if (valueOfNCase != WALL) if (valueOfNCase != WALL)
{ {
@@ -104,6 +119,15 @@ short int canIGoDirection (short int valueOfNCase,
return 0; return 0;
} }
/**
* \brief Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation.
* \param tab Le tableau 2D du plateau de jeu.
* \param playerpos La position actuel du joueur.
* \param direction La direction que le joueur veut effectuer.
* \param score_user Toutes les données nécessaire pour calculer le score fini du joueur.
* \return Void
*
*/
void move (char **tab, vect *playerPos, vect direction, void move (char **tab, vect *playerPos, vect direction,
score *score_user) score *score_user)
{ {
@@ -198,6 +222,18 @@ void move (char **tab, vect *playerPos, vect direction,
} }
} }
/**
*
* \brief La fonction permet de faire la boucle de jeu.
* \param tab2d Le tableau 2d carre.
* \param N LE nombre d'element de tab2d.
* \param playerPos La position de depart du joueur.
* \param targets Le tableau de toutes les positions des points d'interer de la maps.
* \param int nbr_targets Le nombre de point d'interer.
* \param display_user Tout les information SDL pour afficher le jeu.
* \param score_user Toute les données nécessaire pour calculer le score fini du joueur.
* \return Void
*/
void inGameLoop (char **tab2d, int N, vect *playerPos, void inGameLoop (char **tab2d, int N, vect *playerPos,
vect *targets, int nbr_targets, dis *display_user, vect *targets, int nbr_targets, dis *display_user,
score *score_user) score *score_user)
@@ -291,6 +327,13 @@ void inGameLoop (char **tab2d, int N, vect *playerPos,
} }
} }
/**
* \brief Cette fonction verrifie si la partie est gagnante.
* \param tab2d Le tableau 2D du jeu.
* \param targets Le tableau de toute les positions des points d'interer.
* \param nbr_targets Le nombre de points d'interer.
* \return True si le joueur a remplis tout les points d'interer, false si ce n'est pas le cas .
*/
bool isWin (char **tab2d, vect *targets, int nbr_targets) bool isWin (char **tab2d, vect *targets, int nbr_targets)
{ {
int i; int i;
@@ -306,6 +349,13 @@ bool isWin (char **tab2d, vect *targets, int nbr_targets)
return true; return true;
} }
/**
* \brief La fonction renvois si la partie est perdante.
* \param tab2d Le tableau 2d carre du plateau de jeu.
* \param N Le nombre d'éléments dans le tab2d.
* \return True si c'est perdu, false si c'est pas perdu a cette instant.
*
*/
bool islose (char **tab2d, const int N) bool islose (char **tab2d, const int N)
{ {
int x = 0, y = 0; int x = 0, y = 0;
@@ -331,6 +381,12 @@ bool islose (char **tab2d, const int N)
return false; return false;
} }
/**
* \brief La fonction fait une addition de vecteur, (x1+x2, y1+y2).
* \param one Premier vecteur.
* \param two Deuzieme vecteur.
* \return vect Un vecteur de l'addition de one et two.
*/
vect plusVect (vect one, vect two) vect plusVect (vect one, vect two)
{ {
vect result; vect result;
@@ -339,8 +395,17 @@ vect plusVect (vect one, vect two)
return result; return result;
} }
/**
* \brief Renvois la longeur Manhattan
*/
int lengthVect (vect vector) { return abs (vector.x) + abs (vector.y); } int lengthVect (vect vector) { return abs (vector.x) + abs (vector.y); }
/**
* \brief La fonction permet de savoir si une boite est dans une situation ou le joueur ne poura pas la debloqué.
* \param tab2d Le tableau 2D carre du plateau de jeu.
* \param box_coor Les corrdonnée de la boite que la fonction test.
* \return True si la la boite est bloquer, sinon false.
*/
bool blockBox (char **tab2d, vect box_coor) bool blockBox (char **tab2d, vect box_coor)
{ {
int nbr_touch = 0; int nbr_touch = 0;
@@ -441,6 +506,11 @@ bool blockBox (char **tab2d, vect box_coor)
exit (0); exit (0);
} }
/**
* \brief Cette fonction renvois transforme le forma time en texte. (min:sec)
* \param time Le temps qu'on veux convertire.
* \return char Le string du texte.
*/
char *timeToText (time_t time) char *timeToText (time_t time)
{ {
char *result = calloc (20, sizeof (char)); char *result = calloc (20, sizeof (char));