delay.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * File: delay.h
  3. * Author: Arthur Brandao
  4. *
  5. * Created on 4 décembre 2018
  6. */
  7. #ifndef DELAY_H
  8. #define DELAY_H
  9. /* --- Include --- */
  10. #include "constante.h"
  11. #include "game.h"
  12. /* --- Structure --- */
  13. typedef struct{
  14. int second; //Seconde à attendre
  15. int game; //Index de la game dans le tableau
  16. int player; //Index du joueur dans le tableau de game
  17. void* data; //Autres données pour le callback
  18. int(*callback)(Game*, int, void*);
  19. }delay_t;
  20. /* --- Fonctions --- */
  21. /**
  22. * Attend X secondes (sans bloquer l'execution) avant d'executer le callback
  23. * @param int Nombre de second en attente
  24. * @param int Index de la game
  25. * @param int Index du joueur dans la game
  26. * @param int(*)(Game*, int) Le callback
  27. */
  28. void delay(int, int, int, int(*)(Game*, int, void*));
  29. /**
  30. * Attend X secondes (sans bloquer l'execution) avant d'executer le callback
  31. * @param int Nombre de second en attente
  32. * @param int Index de la game
  33. * @param int Index du joueur dans la game
  34. * @param void* Paramétre suplémentaire pour le callback
  35. * @param int(*)(Game*, int) Le callback
  36. */
  37. void delay_data(int, int, int, void*, int(*)(Game*, int, void*));
  38. /**
  39. * Fin du bonus major
  40. * @param Game* La game du joueur
  41. * @param int L'index de joueur
  42. * @param void* D'autre données
  43. * @return Réussite
  44. */
  45. int callback_major_end(Game*, int, void*);
  46. /**
  47. * Explosion d'une bombe
  48. * @param Game* La game du joueur
  49. * @param int L'index de joueur
  50. * @param void* D'autre données
  51. * @return Réussite
  52. */
  53. int callback_bomb_explode(Game*, int, void*);
  54. #endif /* DELAY_H */