mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-22 08:25:45 -07:00

capability added to it, to be used only when all else fails, and is simply called `solver'. This means that: - solving of 5x5 Trivial grids using the `Solve' function, which previously hung for ages because rsolve happened to take a wrong turning at the start, is now zippy - solosolver doesn't require the confusing -r and -n options - solosolver can show its working even for Unreasonable grids. Unfortunately, the new unified solver still isn't suitable for grid generation. After it proved to be so much faster at solving 5x5s, I hoped to be able to substitute it for rsolve during generation and gain additional speed in 5x5 generation too; but no luck, because it's slower _per recursion level_, and although during solving it makes up for this by needing very few levels, there is a lot of _unavoidable_ recursion during generation, especially at 5x5. A hybrid strategy which starts off with rsolve and switches to the unified solver at a critical point proved unsatisfactory as well, because the critical point changes depending on the vagaries of the recursion and can't be pinpointed easily. So rsolve is still in there, only renamed `gridgen' because that's now all it's good for. [originally from svn r6077]
This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <http://www.chiark.greenend.org.uk/~sgtatham/puzzles/>. You should find several Makefiles in the source code: - `Makefile' should work under GNU make on Linux, provided you have GTK installed to compile and link against. It builds GTK binaries of the puzzle games. - `Makefile.vc' should work under MS Visual C++ on Windows. - `Makefile.cyg' should work under Cygwin / MinGW. With appropriate tweaks and setting of TOOLPATH, it should work for both compiling on Windows and cross-compiling on Unix. - `Makefile.osx' should work under Mac OS X, provided the Xcode tools are installed. It builds a single monolithic OS X application capable of running any of the puzzles, or even more than one of them at a time. Many of these Makefiles build a program called `nullgame' in addition to the actual game binaries. This program doesn't do anything; it's just a template for people to start from when adding a new game to the collection, and it's compiled every time to ensure that it _does_ compile and link successfully (because otherwise it wouldn't be much use as a template). Once it's built, you can run it if you really want to (but it's very boring), and then you should ignore it. DO NOT EDIT THE MAKEFILES DIRECTLY, if you plan to send any changes back to the maintainer. The makefiles are generated automatically by the Perl script `mkfiles.pl' from the file `Recipe'. If you need to change the makefiles as part of a patch, you should change Recipe and/or mkfiles.pl. 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 <http://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%