shlomi-fish-homepage / t2 / open-source / projects / japanese-puzzle-games / index.html.wml

#include '../template.wml'

<latemp_subject "Solvers and Other Programs for Japanese Puzzle Games" />

<latemp_meta_desc "Solvers and Other Programs for Japanese-like Puzzle Games" />

<p>
Japanese puzzle games, either those published by the Japanese publisher Nikoli
or similar, have become popular in recent years, and I’ve been enjoying solving
them on the computer (or sometimes on paper) as well. Like any good programmer,
I’ve been asking myself “How can I get a computer to do the hard work for me?”
and started working on some solvers for them. This section contains the
solvers that I started to work on, or mostly completed.
</p>

<p>
You can find some good online implementations of these games here:
</p>

<ul>

<li>
<p>
<a href="http://www.brainbashers.com/games.asp">The BrainBashers.com Games
Page</a>.
</p>
</li>


<li>
<p>
<a href="http://www.logicgamesonline.com/nurikabe/">Logic Games Online’s Nurikabe</a>
</p>
</li>

<li>
<p>
<a href="http://www.kakuro.com/">Kakuro.com</a> (requires Flash).
</p>
</li>

<li>
<p>
<a href="http://www.menneske.no/eng/">Vegard Hanssens’s Homepage</a> -
contains an implementation of many games with numbers.
</p>
</li>

<li>
<p>
<a href="http://www.puzzle-light-up.com/">Puzzle Light Up and friends</a>
- numbered puzzles.
</p>
</li>

<li>
<p>
<a href="http://www.binarypuzzle.com/">The Binary Puzzle</a>.
</p>
</li>

</ul>

<h2 id="programs">The Programs</h2>

<h3 id="abc-path-solver"><a href="abc-path/">ABC
Path Solver and Generator</a></h3>

<h3 id="binary_puzzle"><a href="binary-puzzle/">Binary Puzzle Solver</a></h3>

<h3 id="kakurasu-solver"><a href="kakurasu">Kakurasu Solver</a></h3>

<h3 id="under-devel">Under Development</h3>

<h4 id="kakuro"><a href="https://bitbucket.org/shlomif/kakuro-cross-sums">Kakuro Solver</a></h4>

<p>
A Kakuro solver written in Ruby. Incomplete and
<a href="https://www.google.com/search?q=open%20source%20kakuro%20solver">a Google search</a> will yield others.
</p>

<h4 id="hitori"><a href="http://svn.berlios.de/svnroot/repos/fc-solve/hitori/trunk/">Hitori Solver</a></h4>

<p>
A solver for Hitori written in Ruby. Incomplete.
</p>

<h4 id="nurikabe"><a href="https://bitbucket.org/shlomif/nurikabe">Nurikabe Solver</a></h4>

<p>
A solver for Nurikabe written in Perl 5. Still very partial - a good
Nurikabe-solving heuristic requires many sophisticated algorithms.
</p>

<h2 id="similar-efforts">Similar Efforts</h2>

<p>
This is a list of similar efforts to write automated solvers and automated
generators for such games:
</p>

<ul>

<li>
<p>
<a href="http://www.huttar.net/lars-kathy/puzzles/nurikabe.html">Page about “Nurikabe: Generating and Auto-solving”</a> and its corresponding open-source
<a href="http://sourceforge.net/projects/nurikabe-maker/">Nurikabe Garden</a>
Java project on SourceForge.net.
</p>
</li>

<li>
<p>
<a href="http://www.somethinkodd.com/oddthinking/2006/02/12/a-kakuro-solver/">Page
about a Kakuro Solver</a> - in Python using PyGame. Does not seem to have a
downloadable version.
</p>
</li>

<li>
<p>
<a href="http://www.bthomson.com/kakuro.html">Open Source source code for a
Kakuro Solver in Python</a> (MIT/X11 Licensed) and
<a href="https://github.com/bthomson/pykakuro">a GitHub project</a> for
a more restrictively licensed (Affero GPLv3) solver and generator for Kakuro.
</p>
</li>

<li>
<p>
<a href="https://www.google.com/search?q=sudoku%20solver">Google search for “sudoku solver”</a> and <a href="https://duckduckgo.com/?q=sudoku%20solver">Duck Duck Go search for  “sudoku solver”</a> - many results there (this task appears to
be very popular among programmers).
</p>
</li>

<li>
<p>
<a href="http://www.chiark.greenend.org.uk/~sgtatham/puzzles/">Simon
Tatham’s Portable Puzzle Collection</a> - solvers and generators for
many games.
</p>
</li>

</ul>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.