mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-20 07:31:30 -07:00

Commit message added by SGT: The general idea is that the puzzle constraint "you must not form a loop" can also be phrased as "every grid vertex must have a path to the boundary of the grid", on the basis that in a grid with every square filled, any connected component of vertices _not_ joined to the boundary by a path must instead be surrounded by a loop blocking every way it could get there. So by changing the colour of each "grounded" (connected to the boundary) grid edge, you draw the player's attention to the components that don't yet have a path to the edge, so they can consider the possible paths. This is the kind of hint that users can very easily find to be patronising and intrusive, not to mention a spoiler if they haven't even made the leap from "no loops" to "everything must be grounded". So it's a preference, and off by default. This patch is somewhat rewritten from the submitted version, to conform to local style and also compile in older C versions.
This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>. The puzzle collection is built using CMake <https://cmake.org/>. To compile in the simplest way (on any of Linux, Windows or Mac), run these commands in the source directory: cmake . cmake --build . The manual is provided in Windows Help format for the Windows build; in text format for anyone who needs it; and in HTML for the Mac OS X application and for the web site. It is generated from a Halibut source file (puzzles.but), which is the preferred form for modification. To generate the manual in other formats, rebuild it, or learn about Halibut, visit the Halibut website at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
Languages
C
93.3%
JavaScript
1.4%
Objective-C
1.1%
CMake
1.1%
HTML
0.8%
Other
2.2%