player.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * File: player.h
  3. * Author: Arthur Brandao
  4. *
  5. * Created on 28 novembre 2018
  6. */
  7. #ifndef PLAYER_H
  8. #define PLAYER_H
  9. /* --- Include --- */
  10. #include "constante.h"
  11. #include "client.h"
  12. #include "json.h"
  13. /* --- Structure --- */
  14. typedef struct{
  15. boolean ini; //Indique si initalisé
  16. /* Stats basique */
  17. int id; //Id du joueur <=> id du Client
  18. Client* cli; //Client pour communiquer avec le joueur
  19. int x; //Position X (gauche droite)
  20. int y; //Position Y (haut bas)
  21. int life; //Vie
  22. int maxLife; //Vie max
  23. int speed; //Vitesse de deplacement
  24. int classicBomb; //Nombre de bombe classique
  25. int mine; //Nombre de mine
  26. int remoteBomb; //Nombre de bombe télécommandée
  27. int maxBomb; //Nombre max de bombe simultané sur le terrain
  28. /* Bonus (Nombre de fois ou le bonus est pris). Les modifications sont toujours calculées par le serveur */
  29. int bombUp;
  30. int bombDown;
  31. int firePower;
  32. int scooter;
  33. int brokenLeg;
  34. int lifeMax;
  35. int lifeUp;
  36. int major;
  37. }Player;
  38. /* --- Fonctions --- */
  39. /**
  40. * Création d'un joueur
  41. * @param Player* La structure à initialiser
  42. * @param Client* La structure pour communiquer avec le joueur
  43. */
  44. void create_player(Player*, Client*);
  45. void describe_player(Player*, JsonEncoder*);
  46. void describe_short_player(Player*, JsonEncoder*);
  47. void add_player_object(Player*, int);
  48. /**
  49. * Supprime un joueur
  50. * @param Player* La structure à supprimer
  51. */
  52. void delete_player(Player*);
  53. #endif /* PLAYER_H */