player.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. #include "object.h"
  14. /* --- Structure --- */
  15. typedef struct{
  16. boolean ini; //Indique si initalisé
  17. /* Stats basique */
  18. int id; //Id du joueur <=> id du Client
  19. Client* cli; //Client pour communiquer avec le joueur
  20. int x; //Position X (gauche droite)
  21. int y; //Position Y (haut bas)
  22. int life; //Vie
  23. int maxLife; //Vie max
  24. int speed; //Vitesse de deplacement
  25. int classicBomb; //Nombre de bombe classique
  26. int mine; //Nombre de mine
  27. int remoteBomb; //Nombre de bombe télécommandée
  28. int maxBomb; //Nombre max de bombe simultané sur le terrain
  29. /* Bonus (Nombre de fois ou le bonus est pris). Les modifications sont toujours calculées par le serveur */
  30. int bombUp;
  31. int bombDown;
  32. int firePower;
  33. int scooter;
  34. int brokenLeg;
  35. int lifeMax;
  36. int lifeUp;
  37. int major;
  38. /* Les remote bomb posé par le joueur */
  39. Object* remote;
  40. }Player;
  41. /* --- Fonctions --- */
  42. /**
  43. * Création d'un joueur
  44. * @param Player* La structure à initialiser
  45. * @param Client* La structure pour communiquer avec le joueur
  46. */
  47. void create_player(Player*, Client*);
  48. void describe_player(Player*, JsonEncoder*);
  49. void describe_short_player(Player*, JsonEncoder*);
  50. void add_player_object(Player*, int);
  51. /**
  52. * Supprime un joueur
  53. * @param Player* La structure à supprimer
  54. */
  55. void delete_player(Player*);
  56. #endif /* PLAYER_H */