]> git.draconx.ca Git - rrace.git/blobdiff - src/game.h
Track elapsed time of the game.
[rrace.git] / src / game.h
index 6a02a428551db68e5cee0c4909901ccc95737c84..99b51338a00078a2349b69bb352c3b0fd72de2a0 100644 (file)
@@ -20,6 +20,7 @@
 #define RRACE_GAME_H_
 
 #include <inttypes.h>
+#include <xtime.h>
 
 enum {
        TILE_EMPTY,
@@ -65,8 +66,10 @@ struct board {
         */
        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 */
@@ -178,9 +181,15 @@ void game_reseed(unsigned long long seed);
  */
 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