Procházet zdrojové kódy

:memo: Ajout documentation

Arthur Brandao před 6 roky
rodič
revize
3f2f32ec87
7 změnil soubory, kde provedl 198 přidání a 1 odebrání
  1. 22 0
      Serveur/delay.h
  2. 79 0
      Serveur/game.h
  3. 42 0
      Serveur/handler.h
  4. 5 1
      Serveur/json_array.c
  5. 33 0
      Serveur/object.h
  6. 2 0
      Serveur/player.c
  7. 15 0
      Serveur/player.h

+ 22 - 0
Serveur/delay.h

@@ -31,10 +31,32 @@ typedef struct{
  */
 void delay(int, int, int, int(*)(Game*, int, void*));
 
+/**
+ * Attend X secondes (sans bloquer l'execution) avant d'executer le callback
+ * @param int Nombre de second en attente
+ * @param int Index de la game
+ * @param int Index du joueur dans la game
+ * @param void* Paramétre suplémentaire pour le callback
+ * @param int(*)(Game*, int) Le callback
+ */
 void delay_data(int, int, int, void*, int(*)(Game*, int, void*));
 
+/**
+ * Fin du bonus major
+ * @param Game* La game du joueur
+ * @param int L'index de joueur
+ * @param void* D'autre données
+ * @return Réussite
+ */
 int callback_major_end(Game*, int, void*);
 
+/**
+ * Explosion d'une bombe
+ * @param Game* La game du joueur
+ * @param int L'index de joueur
+ * @param void* D'autre données
+ * @return Réussite
+ */
 int callback_bomb_explode(Game*, int, void*);
 
 #endif /* DELAY_H */

+ 79 - 0
Serveur/game.h

@@ -66,28 +66,107 @@ int list_game(JsonArray*);
  */
 int* map_size(char*);
 
+/**
+ * Création d'une game
+ * @param char* Nom de la game
+ * @param char* Nom de la map
+ * @return L'index de la game dans le tableau ou ERR
+ */
 int create_game(char*, char*);
 
+/**
+ * Ajoute un joueur
+ * @param Game* La game dans laquelle ajouter le joueur
+ * @param int Id du client lié au joueur
+ * @return L'index du joueur dans la game ou ERR
+ */
 int add_player(Game*, int);
 
+/**
+ * Decris une game en JSON
+ * @param Game* La game à décrire
+ * @param int Index du joueur à décrire en plus de la game (-1 pour rien)
+ * @param JsonEncoder* Le json pour mettre la description
+ */
 void describe_game(Game*, int, JsonEncoder*);
 
+/**
+ * Notification des joueurs d'une partie
+ * @param Game* La partie des joueurs
+ * @param char* Action (POST ou GET)
+ * @param char* La ressource
+ * @param JsonEncoder* Les paramètres JSON à envoyer
+ * @param int L'id d'un joueur à ne pas notifier
+ * @return 
+ */
 boolean notify_player(Game*, char*, char*, JsonEncoder*, int);
 
+/**
+ * Indique si il y a un collision avec un joueur
+ * @param Game* La partie dans laquelle vérifier
+ * @param int X
+ * @param int Y
+ * @return Collision ou non
+ */
 boolean player_collision(Game*, int, int);
 
+/**
+ * Indique si il y a un collision avec un joueur et retourne l'index
+ * @param Game* La partie dans laquelle vérifier
+ * @param int X
+ * @param int Y
+ * @param int* L'index du joueur avec laquelle la collision à lieu
+ * @return Collision ou non
+ */
 boolean player_collision_index(Game*, int, int, int*);
 
+/**
+ * Explose un bombe
+ * @param Game* La game de la bombe
+ * @param int L'index du joueur à qui appartient la bombe
+ * @param int X de la bombe
+ * @param int Y de la bombe
+ * @param JsonEncoder* Les infos de l'explosion
+ * @return Reussite
+ */
 boolean bomb_explode(Game*, int, int, int, JsonEncoder*);
 
+/**
+ * Explosion des bombes en chaine
+ * @param Game* La game de la bombe
+ * @param int L'index du joueur à qui appartient la bombe
+ * @param int X de la bombe
+ * @param int Y de la bombe
+ * @param JsonArray* Les infos de l'explosion
+ */
 void bomb_chain(Game*, int, int, int, JsonArray*);
 
+/**
+ * Determine le spawn des objets (bonus/malus/bombe)
+ * @param Game* La game où faire spawn l'objet
+ * @param int X
+ * @param int Y
+ * @param JsonEncoder* Json por recueillir les infos de l'objet ajouté
+ * @return 0 Pas d'objet, 1 Bombe, 2 Bonus/Malus
+ */
 int spawn_object(Game*, int, int, JsonEncoder*);
 
+/**
+ * Supprime un joueur d'une partie
+ * @param Game* La partie
+ * @param int L'index du joueur dans la partie
+ */
 void remove_player(Game*, int);
 
+/**
+ * Stop une partie
+ * @param Game* La partie
+ */
 void stop_game(Game*);
 
+/**
+ * Stop toutes les parties
+ */
 void clean_games();
 
 #endif /* GAME_H */

+ 42 - 0
Serveur/handler.h

@@ -35,18 +35,60 @@ int handler_client_end(int, JsonParser*);
  */
 int handler_game_list(int, JsonParser*);
 
+/**
+ * Creation d'une partie
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_game_create(int, JsonParser*);
 
+/**
+ * Rejoindre une partie
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_game_join(int, JsonParser*);
 
+/**
+ * Quitter une partie
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_game_quit(int, JsonParser*);
 
+/**
+ * Mouvement d'un joueur
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_player_move(int, JsonParser*);
 
+/**
+ * Rammaser un objet
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_object_new(int, JsonParser*);
 
+/**
+ * Poser une bombe
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_attack_bomb(int, JsonParser*);
 
+/**
+ * Activer les remotes bombes
+ * @param int L'id du client
+ * @param JsonParser* Le json envoyer par le client
+ * @return int Etat
+ */
 int handler_attack_remote_go(int, JsonParser*);
 
 #endif /* HANDLER_H */

+ 5 - 1
Serveur/json_array.c

@@ -11,7 +11,11 @@
 #include "json.h"
 
 /* --- Fonctions privées parser --- */
-
+/**
+ * Compte le nombre valeur
+ * @param char* La chaine JSON
+ * @return int Le nombre de valeur
+ */
 int val_counter(char* json) {
     char* tmp = json + 1;
     int nbElt = 0;

+ 33 - 0
Serveur/object.h

@@ -40,10 +40,43 @@ typedef struct{
 }Object;
 
 /* --- Fonctions --- */
+/**
+ * Initialisation de la structure
+ * @param Object* La structure à initialiser
+ */
 void object_ini(Object*);
+
+/**
+ * Ajoute un noeud
+ * @param Object* L'objet à modifier
+ * @param int Le type de l'objet
+ * @param int La position X de l'objet
+ * @param int La position Y de l'objet
+ * @return Le noeud
+ */
 obj_node* object_add(Object*, int, int, int);
+
+/**
+ * Recherche un noeud avec le type et la position
+ * @param Object* L'objet à modifier
+ * @param int Le type de l'objet
+ * @param int La position X de l'objet
+ * @param int La position Y de l'objet
+ * @return Le noeud 
+ */
 obj_node* object_search(Object*, int, int, int);
+
+/**
+ * Supprime un objet
+ * @param Object* L'objet à modifier
+ * @param obj_node* Le noeud à supprimer
+ */
 void object_delete(Object*, obj_node*);
+
+/**
+ * Vide la structure
+ * @param Object* L'objet à vider
+ */
 void object_clean(Object*);
 
 #endif /* OBJECT_H */

+ 2 - 0
Serveur/player.c

@@ -10,6 +10,8 @@
 #include "player.h"
 #include "object.h"
 
+/* --- Fonctions publiques --- */
+
 void create_player(Player* p, Client* c){
     //Initialisation valeurs
     p->ini = true;

+ 15 - 0
Serveur/player.h

@@ -51,10 +51,25 @@ typedef struct{
  */
 void create_player(Player*, Client*);
 
+/**
+ * Decris un joueur en JSON
+ * @param Player* Le joueur à décrire
+ * @param JsonEncoder* Le json d'accueil
+ */
 void describe_player(Player*, JsonEncoder*);
 
+/**
+ * Decripstion courte d'un joueur en JSON
+ * @param Player* Le joueur à décrire
+ * @param JsonEncoder* Le json d'accueil
+ */
 void describe_short_player(Player*, JsonEncoder*);
 
+/**
+ * Ajoute un objet à un joueur
+ * @param Player* Le joueur
+ * @param int Le type de l'objet
+ */
 void add_player_object(Player*, int);
 
 /**