X-Git-Url: http://git.draconx.ca/gitweb/rrace.git/blobdiff_plain/ec2e7b448d7d0d404c0b3102c5b25ac9464d9fc5..dc5fda352920a27da020717ee7775fa89bf9fb7e:/src/game.h diff --git a/src/game.h b/src/game.h index 99b5133..958cc60 100644 --- a/src/game.h +++ b/src/game.h @@ -161,14 +161,16 @@ static inline uint_fast32_t board_right(int x) * and update the location of the empty position which, if the move was valid * is now (x, y). * - * Returns 0 if the move was valid (and board has been updated), -1 otherwise. + * Returns the board bitmap indicating which positions changed. A return + * value of 0 therefore indicates an invalid move. */ -int game_do_move(struct board *board, int x, int y); +uint_fast32_t 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 @@ -186,6 +188,11 @@ void game_reset(struct board *board); */ void game_begin(struct board *board); +/* + * Return the total elapsed time (in ms) since the last call to game_begin. + */ +int_fast32_t game_elapsed(struct board *board); + /* * Disable new moves and clear all tile bits other than the 9 goal tiles. * Returns the total elapsed time (in ms).