player.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. /**
  48. * Supprime un joueur
  49. * @param Player* La structure à supprimer
  50. */
  51. void delete_player(Player*);
  52. #endif /* PLAYER_H */