mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Highlight clue errors in Tracks in some more situations.
- Count any square as having a track either if the square is marked as such (rendered as a different background), or if at least one adjacent edge is marked as containing a segment of train track (rendered as train tracks if they're placed, else as an '='). - Do the same counting in rows and columns.
This commit is contained in:

committed by
Simon Tatham

parent
80b63e6cef
commit
44e2690abb
6
tracks.c
6
tracks.c
@ -1538,7 +1538,8 @@ static int check_completion(game_state *state, int mark)
|
||||
target = state->numbers->numbers[x];
|
||||
ntrack = nnotrack = 0;
|
||||
for (y = 0; y < h; y++) {
|
||||
if (S_E_COUNT(state, x, y, E_TRACK) > 0)
|
||||
if (S_E_COUNT(state, x, y, E_TRACK) > 0 ||
|
||||
state->sflags[y*w+x] & S_TRACK)
|
||||
ntrack++;
|
||||
if (state->sflags[y*w+x] & S_NOTRACK)
|
||||
nnotrack++;
|
||||
@ -1557,7 +1558,8 @@ static int check_completion(game_state *state, int mark)
|
||||
target = state->numbers->numbers[w+y];
|
||||
ntrack = nnotrack = 0;
|
||||
for (x = 0; x < w; x++) {
|
||||
if (S_E_COUNT(state, x, y, E_TRACK) == 2)
|
||||
if (S_E_COUNT(state, x, y, E_TRACK) > 0 ||
|
||||
state->sflags[y*w+x] & S_TRACK)
|
||||
ntrack++;
|
||||
if (state->sflags[y*w+x] & S_NOTRACK)
|
||||
nnotrack++;
|
||||
|
Reference in New Issue
Block a user