|
@@ -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 */
|