mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-22 16:32:13 -07:00
Tracks: tighten up a small loophole in completion checking.
If you had a single connected path linking the source to the destination but _also_ had a spurious edge elsewhere in the grid, then the spurious edge would be highlighted as an error, but it wouldn't inhibit declaring the game complete and showing the victory flash.
This commit is contained in:
4
tracks.c
4
tracks.c
@ -1646,11 +1646,13 @@ static int check_completion(game_state *state, int mark)
|
||||
for (i = 0; i < w*h; i++) {
|
||||
if ((dsf_canonify(dsf, i) != pathclass) &&
|
||||
((state->sflags[i] & S_TRACK) ||
|
||||
(S_E_COUNT(state, i%w, i/w, E_TRACK) > 0)))
|
||||
(S_E_COUNT(state, i%w, i/w, E_TRACK) > 0))) {
|
||||
ret = FALSE;
|
||||
state->sflags[i] |= S_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mark)
|
||||
state->completed = ret;
|
||||
|
Reference in New Issue
Block a user