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.
 
 
 
 

122 lines
3.5 KiB

--- dameschinoises.h Sun Jan 27 22:26:49 2013
+++ api.h Sun Jan 27 22:29:59 2013
@@ -1,80 +1,66 @@
-/////////// Strutures à utiliser
+/* Strutures à utiliser */
-// Etat d'une case du jeu
-typedef enum
-{
- none,
- color1,
- color2,
- color3,
- color4,
- color5,
- color6
-} EPlayer;
+/* État d'une case du jeu */
+enum hole_t { none, color1, color2, color3, color4, color5, color6 };
-// Structure de représentation du jeu avec son plateau
-typedef struct
-{
- EPlayer board[121]; // Tableau contenants les zones où les pions peuvent se trouver
-} SGameState;
+/* Structure de représentation du jeu avec son plateau */
+struct game_state_t {
+ enum hole_t board[121]; /* Tableau contenants les zones où les pions peuvent se trouver */
+};
-// Structure de représentation d'un mouvement
-typedef struct
-{
+/* Structure de représentation d'un mouvement */
+struct move_t {
int startPos;
int endPos;
-} SMove;
+};
-/////////// Fonctions à utiliser
-// Les prototypes en commentaires sont à implémenter dans la librairie
-// Les types pointeur de fonction dans l'application
+/* Compatibilité */
+typedef enum hole_t EPlayer;
+typedef struct game_state_t SGameState;
+typedef struct move_t SMove;
-/**
- * Initialiser la librairie
+/* Fonctions à utiliser
+ Les prototypes en commentaires sont à implémenter dans la bibliothèque
+ Les types pointeur de fonction dans l'application */
+
+/*
+ * Initialiser la bibliothèque
* @param char name[50]
- * nom associé à la librairie
- */
-//void InitLibrary(char name[50]);
+ * nom associé à la bibliothèque
+*/
+/* void InitLibrary(char name[50]); */
typedef void (*pfInitLibrary)(char[50]);
-/**
- * Initialiser l'IA pour un match
+/* Initialiser l'IA pour un match
* @param const unsigned int nbPlayer
* nombre de joueur
* @param const player color
* couleur du joueur
*/
-//void StartMatch(const unsigned int nbJoueur, const EPlayer couleur);
-typedef void (*pfStartMatch)(const unsigned int, const EPlayer);
+/* void StartMatch(const unsigned int nbJoueur, const enum hole_t couleur); */
+typedef void (*pfStartMatch)(const unsigned int, const enum hole_t);
-/**
- * Initialiser l'IA pour une manche (d'un match)
- */
-//void StartGame();
+/* Initialiser l'IA pour une manche (d'un match) */
+/* void StartGame(); */
typedef void (*pfStartGame)();
-/**
- * Fin d'une manche (d'un match)
- */
-//void EndGame();
+/* Fin d'une manche (d'un match) */
+/* void EndGame(); */
typedef void (*pfEndGame)();
-/**
- * Fin d'un match
- */
-//void EndMatch();
+/* Fin d'un match */
+/* void EndMatch(); */
typedef void (*pfEndMatch)();
-/**
- * Prise de décision de la part de l'IA
- * @param const SGameState * const gameState
- * l'état du jeu courant
- * @param SMove moves[4]
- * mouvement à effectuer par l'IA
+/* Prise de décision de la part de l'IA
+ * @param const struct game_state_t * const gameState
+ * l'état du jeu courant
+ * @param struct move_t moves
+ * mouvement à effectuer par l'IA
* @param int firstMove
* vrai s'il s'agit du premier mouvement d'un tour
* @return int
* booleen : 0=plus de mouvement ; 1=prendre en compte le mouvement
*/
-//int NextMove(const SGameState * const gameState, int firstMove, SMove *move);
-typedef int (*pfNextMove)(const SGameState * const, int, SMove *);
+/* int NextMove(const SGameState * const gameState, int firstMove, SMove *move); */
+typedef int (*pfNextMove)(const struct game_state_t * const, int, struct move_t *);