From 980880be1f2801b2a69fcc67abc0f5827fd106f2 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 2 Apr 2011 16:19:12 +0000 Subject: Add a function to every game backend which indicates whether a game state is in a solved position, and a midend function wrapping it. (Or, at least, a situation in which further play is pointless. The point is, given that game state, would it be a good idea for a front end that does that sort of thing to proactively provide the option to start a fresh game?) [originally from svn r9140] --- blackbox.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'blackbox.c') diff --git a/blackbox.c b/blackbox.c index d75c755..305feac 100644 --- a/blackbox.c +++ b/blackbox.c @@ -1462,6 +1462,15 @@ static float game_flash_length(game_state *oldstate, game_state *newstate, return 0.0F; } +static int game_is_solved(game_state *state) +{ + /* + * We return true whenever the solution has been revealed, even + * (on spoiler grounds) if it wasn't guessed correctly. + */ + return state->reveal; +} + static int game_timing_state(game_state *state, game_ui *ui) { return TRUE; @@ -1510,6 +1519,7 @@ const struct game thegame = { game_redraw, game_anim_length, game_flash_length, + game_is_solved, FALSE, FALSE, game_print_size, game_print, TRUE, /* wants_statusbar */ FALSE, game_timing_state, -- cgit v1.1