From 4f7b65de2e5f6387a819dd3767f5459b06f5db11 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Mon, 2 May 2005 13:17:10 +0000 Subject: Added an automatic `Solve' feature to most games. This is useful for various things: - if you haven't fully understood what a game is about, it gives you an immediate example of a puzzle plus its solution so you can understand it - in some games it's useful to compare your solution with the real one and see where you made a mistake - in the rearrangement games (Fifteen, Sixteen, Twiddle) it's handy to be able to get your hands on a pristine grid quickly so you can practise or experiment with manoeuvres on it - it provides a good way of debugging the games if you think you've encountered an unsolvable grid! [originally from svn r5731] --- nullgame.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'nullgame.c') diff --git a/nullgame.c b/nullgame.c index 296e76e..6eb427c 100644 --- a/nullgame.c +++ b/nullgame.c @@ -94,7 +94,7 @@ static char *new_game_seed(game_params *params, random_state *rs, return dupstr("FIXME"); } -void game_free_aux_info(game_aux_info *aux) +static void game_free_aux_info(game_aux_info *aux) { assert(!"Shouldn't happen"); } @@ -127,6 +127,12 @@ static void free_game(game_state *state) sfree(state); } +static game_state *solve_game(game_state *state, game_aux_info *aux, + char **error) +{ + return NULL; +} + static char *game_text_format(game_state *state) { return NULL; @@ -234,6 +240,7 @@ const struct game thegame = { new_game, dup_game, free_game, + FALSE, solve_game, FALSE, game_text_format, new_ui, free_ui, -- cgit v1.1