X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/72c158219fd9dbf19a01f2bf62303627a5e414e4..c0f63b88e536d161a4508c918f805fbc497b75c9:/mines.c diff --git a/mines.c b/mines.c index 80d2337..13cdc0c 100644 --- a/mines.c +++ b/mines.c @@ -3084,9 +3084,14 @@ static float game_flash_length(game_state *oldstate, game_state *newstate, return 0.0F; } -static int game_is_solved(game_state *state) +static int game_status(game_state *state) { - return state->won; + /* + * We report the game as lost only if the player has used the + * Solve function to reveal all the mines. Otherwise, we assume + * they'll undo and continue play. + */ + return state->won ? (state->used_solve ? -1 : +1) : 0; } static int game_timing_state(game_state *state, game_ui *ui) @@ -3139,7 +3144,7 @@ const struct game thegame = { game_redraw, game_anim_length, game_flash_length, - game_is_solved, + game_status, FALSE, FALSE, game_print_size, game_print, TRUE, /* wants_statusbar */ TRUE, game_timing_state,