simon-svn: puzzles: simon
Commits to Tartarus CVS repository.
tartarus-commits at lists.tartarus.org
Mon Apr 7 16:56:42 BST 2008
SVN root: svn://svn.tartarus.org/sgt
Changes by: simon
Revision: 7974
Date: 2008-04-07 16:56:42 +0100 (Mon, 07 Apr 2008)
Log message (22 lines):
Substantial reworking of Solo so that it implements both Sudoku-X
(require both main diagonals to have one of every digit in addition
to all the usual constraints) and Jigsaw Sudoku (replace the array
of rectangular sub-blocks with the sub-blocks being random
polyominoes). To implement the latter, I've moved my `divvy.c'
library routine out of the `unfinished' subdirectory.
Jigsaw mode is currently an undocumented feature: you enable it by
setting the rows parameter to 1 (and the columns parameter to your
desired grid size, which unlike normal Sudoku can be anything you
like including a prime number). The reason it's undocumented is
because generation times are not yet reliably short: sometimes
generating a jigsaw-type puzzle can hang for hours and still get
nowhere. (The algorithm should terminate in principle, but not in
any time you're prepared to wait.) I _think_ I know how to solve
this, but have yet to try it. Until then, jigsaw mode will remain a
hidden feature.
Printing of X-type puzzles is also substandard at present, because
the current print-colour API replaces the desired light shading of
the X-cells with heavy diagonal hatching. I plan to adjust the API
imminently to address this.
Modified files:
A puzzles/divvy.c
U puzzles/puzzles.but
U puzzles/puzzles.h
U puzzles/solo.R
U puzzles/solo.c
D puzzles/unfinished/divvy.c
Links:
http://svn.tartarus.org/?rev=7974&view=rev
http://svn.tartarus.org/puzzles/divvy.c?rev=7974&view=markup
http://svn.tartarus.org/puzzles/puzzles.but?rev=7974&r1=7973&r2=7974
http://svn.tartarus.org/puzzles/puzzles.h?rev=7974&r1=7973&r2=7974
http://svn.tartarus.org/puzzles/solo.R?rev=7974&r1=7973&r2=7974
http://svn.tartarus.org/puzzles/solo.c?rev=7974&r1=7973&r2=7974
More information about the tartarus-commits
mailing list