From: Jonas Kölker Date: Mon, 12 Oct 2015 18:07:18 +0000 (+0200) Subject: In Undead, mark clues as errors in a few more situations. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=80b63e6cefb0e1055bdd5f2f8238d7cc8c23f51f;p=sgt-puzzles.git In Undead, mark clues as errors in a few more situations. - Mark a clue as an error if too many monsters are seen, even if some squares are empty. - Mark a clue as an error if too few monsters are seen, taking into account how many more sightings are possible given the number of empty squares and how many times each of them are visited. --- diff --git a/undead.c b/undead.c index fc03fe8..ad0ab79 100644 --- a/undead.c +++ b/undead.c @@ -1955,7 +1955,9 @@ int check_path_solution(game_state *state, int p) { } } - if (unfilled == 0 && count != state->common->paths[p].sightings_start) { + if (count > state->common->paths[p].sightings_start || + count + unfilled < state->common->paths[p].sightings_start) + { correct = FALSE; state->hint_errors[state->common->paths[p].grid_start] = TRUE; } @@ -1977,7 +1979,9 @@ int check_path_solution(game_state *state, int p) { } } - if (unfilled == 0 && count != state->common->paths[p].sightings_end) { + if (count > state->common->paths[p].sightings_end || + count + unfilled < state->common->paths[p].sightings_end) + { correct = FALSE; state->hint_errors[state->common->paths[p].grid_end] = TRUE; }