You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

123 lines
3.5 KiB

  1. --- dameschinoises.h Sun Jan 27 22:26:49 2013
  2. +++ api.h Sun Jan 27 22:29:59 2013
  3. @@ -1,80 +1,66 @@
  4. -/////////// Strutures à utiliser
  5. +/* Strutures à utiliser */
  6. -// Etat d'une case du jeu
  7. -typedef enum
  8. -{
  9. - none,
  10. - color1,
  11. - color2,
  12. - color3,
  13. - color4,
  14. - color5,
  15. - color6
  16. -} EPlayer;
  17. +/* État d'une case du jeu */
  18. +enum hole_t { none, color1, color2, color3, color4, color5, color6 };
  19. -// Structure de représentation du jeu avec son plateau
  20. -typedef struct
  21. -{
  22. - EPlayer board[121]; // Tableau contenants les zones où les pions peuvent se trouver
  23. -} SGameState;
  24. +/* Structure de représentation du jeu avec son plateau */
  25. +struct game_state_t {
  26. + enum hole_t board[121]; /* Tableau contenants les zones où les pions peuvent se trouver */
  27. +};
  28. -// Structure de représentation d'un mouvement
  29. -typedef struct
  30. -{
  31. +/* Structure de représentation d'un mouvement */
  32. +struct move_t {
  33. int startPos;
  34. int endPos;
  35. -} SMove;
  36. +};
  37. -/////////// Fonctions à utiliser
  38. -// Les prototypes en commentaires sont à implémenter dans la librairie
  39. -// Les types pointeur de fonction dans l'application
  40. +/* Compatibilité */
  41. +typedef enum hole_t EPlayer;
  42. +typedef struct game_state_t SGameState;
  43. +typedef struct move_t SMove;
  44. -/**
  45. - * Initialiser la librairie
  46. +/* Fonctions à utiliser
  47. + Les prototypes en commentaires sont à implémenter dans la bibliothèque
  48. + Les types pointeur de fonction dans l'application */
  49. +
  50. +/*
  51. + * Initialiser la bibliothèque
  52. * @param char name[50]
  53. - * nom associé à la librairie
  54. - */
  55. -//void InitLibrary(char name[50]);
  56. + * nom associé à la bibliothèque
  57. +*/
  58. +/* void InitLibrary(char name[50]); */
  59. typedef void (*pfInitLibrary)(char[50]);
  60. -/**
  61. - * Initialiser l'IA pour un match
  62. +/* Initialiser l'IA pour un match
  63. * @param const unsigned int nbPlayer
  64. * nombre de joueur
  65. * @param const player color
  66. * couleur du joueur
  67. */
  68. -//void StartMatch(const unsigned int nbJoueur, const EPlayer couleur);
  69. -typedef void (*pfStartMatch)(const unsigned int, const EPlayer);
  70. +/* void StartMatch(const unsigned int nbJoueur, const enum hole_t couleur); */
  71. +typedef void (*pfStartMatch)(const unsigned int, const enum hole_t);
  72. -/**
  73. - * Initialiser l'IA pour une manche (d'un match)
  74. - */
  75. -//void StartGame();
  76. +/* Initialiser l'IA pour une manche (d'un match) */
  77. +/* void StartGame(); */
  78. typedef void (*pfStartGame)();
  79. -/**
  80. - * Fin d'une manche (d'un match)
  81. - */
  82. -//void EndGame();
  83. +/* Fin d'une manche (d'un match) */
  84. +/* void EndGame(); */
  85. typedef void (*pfEndGame)();
  86. -/**
  87. - * Fin d'un match
  88. - */
  89. -//void EndMatch();
  90. +/* Fin d'un match */
  91. +/* void EndMatch(); */
  92. typedef void (*pfEndMatch)();
  93. -/**
  94. - * Prise de décision de la part de l'IA
  95. - * @param const SGameState * const gameState
  96. - * l'état du jeu courant
  97. - * @param SMove moves[4]
  98. - * mouvement à effectuer par l'IA
  99. +/* Prise de décision de la part de l'IA
  100. + * @param const struct game_state_t * const gameState
  101. + * l'état du jeu courant
  102. + * @param struct move_t moves
  103. + * mouvement à effectuer par l'IA
  104. * @param int firstMove
  105. * vrai s'il s'agit du premier mouvement d'un tour
  106. * @return int
  107. * booleen : 0=plus de mouvement ; 1=prendre en compte le mouvement
  108. */
  109. -//int NextMove(const SGameState * const gameState, int firstMove, SMove *move);
  110. -typedef int (*pfNextMove)(const SGameState * const, int, SMove *);
  111. +/* int NextMove(const SGameState * const gameState, int firstMove, SMove *move); */
  112. +typedef int (*pfNextMove)(const struct game_state_t * const, int, struct move_t *);