aboutsummaryrefslogtreecommitdiff
path: root/solo.R
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2008-04-07 15:56:42 +0000
committerSimon Tatham <anakin@pobox.com>2008-04-07 15:56:42 +0000
commit93103eeca4e41ecaa874069b10f2a3de8c392435 (patch)
treec1958dcac18da3b939f313f552c930305a5e89f8 /solo.R
parentd2369aab621c80449db7c589f0c65c722802b8b4 (diff)
downloadpuzzles-93103eeca4e41ecaa874069b10f2a3de8c392435.zip
puzzles-93103eeca4e41ecaa874069b10f2a3de8c392435.tar.gz
puzzles-93103eeca4e41ecaa874069b10f2a3de8c392435.tar.bz2
puzzles-93103eeca4e41ecaa874069b10f2a3de8c392435.tar.xz
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. [originally from svn r7974]
Diffstat (limited to 'solo.R')
-rw-r--r--solo.R12
1 files changed, 7 insertions, 5 deletions
diff --git a/solo.R b/solo.R
index fed8104..31d767e 100644
--- a/solo.R
+++ b/solo.R
@@ -1,13 +1,15 @@
# -*- makefile -*-
-solo : [X] GTK COMMON solo solo-icon|no-icon
+SOLO = solo divvy dsf
-solo : [G] WINDOWS COMMON solo solo.res|noicon.res
+solo : [X] GTK COMMON SOLO solo-icon|no-icon
-solosolver : [U] solo[STANDALONE_SOLVER] STANDALONE
-solosolver : [C] solo[STANDALONE_SOLVER] STANDALONE
+solo : [G] WINDOWS COMMON SOLO solo.res|noicon.res
-ALL += solo
+solosolver : [U] solo[STANDALONE_SOLVER] dsf STANDALONE
+solosolver : [C] solo[STANDALONE_SOLVER] dsf STANDALONE
+
+ALL += SOLO
!begin gtk
GAMES += solo