#define RRACE_GAME_H_
#include <inttypes.h>
+#include <xtime.h>
enum {
TILE_EMPTY,
*/
uint_least16_t goal[3];
- /* (x, y) position of the current empty position. */
+ /* (x, y) position of the current empty space. */
uint_least8_t x, y;
+
+ xtime_t time_start;
};
/* Return the board bitmap with all bits in column x set */
int game_do_move(struct board *board, int x, int y);
/*
- * Returns 1 if the game is in a winning position, or 0 otherwise.
+ * Returns the board bitmap setting game locations that differ from the goal.
+ * A return value of 0 therefore indicates a winning position.
*/
-int game_check_goal(struct board *board);
+uint_fast32_t game_check_goal(struct board *board);
/*
* Initialize the game RNG such that the next call to game_reset will produce a
*/
void game_reset(struct board *board);
+/*
+ * Reset the game start time.
+ */
+void game_begin(struct board *board);
+
/*
* Disable new moves and clear all tile bits other than the 9 goal tiles.
+ * Returns the total elapsed time (in ms).
*/
-void game_finish(struct board *board);
+int_fast32_t game_finish(struct board *board);
#endif