shithub: puzzles

Download patch

ref: 755c3d5277262739e8beb03da3649e7f4d53e915
parent: 01844d39c6c92d5ce417519ef2bdced6346f2549
author: Simon Tatham <anakin@pobox.com>
date: Wed Feb 24 14:18:30 EST 2016

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.


--- a/tracks.c
+++ b/tracks.c
@@ -1646,8 +1646,10 @@
             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;
+                }
             }
         }
     }