99 Commits

Author SHA1 Message Date
dd85394bf6 Michael Schierl's patch to compile the puzzles as Java applets using
NestedVM. Wow!

[originally from svn r8064]
2008-06-10 20:35:17 +00:00
ea13d39a17 Having got Jigsaw mode generation working at reasonable speed, we
can now productise it.

[originally from svn r7979]
2008-04-08 10:30:18 +00:00
93103eeca4 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]
2008-04-07 15:56:42 +00:00
ace2c7dafd UI change to Filling: allow multiple squares to be set at once.
(This change adds a new possibility to the save format, such that new save
files won't necessarily be loadable by old binaries. I think that's acceptable
-- it's certainly happened before -- but I couldn't find anything in the
developer docs explicitly blessing it.)

[originally from svn r7849]
2008-02-10 18:43:29 +00:00
9673a2a733 It's another new year.
[originally from svn r7848]
2008-02-10 17:12:49 +00:00
3bfe0fb32e After it confused Verity, clarify in the Unequal docs that the
Trivial and Recursive difficulty levels are available for custom
selection even though no preset uses them.

[originally from svn r7336]
2007-02-25 23:30:14 +00:00
df31d4f419 New puzzle: `Filling', a Fillomino implementation by Jonas Koelker.
[originally from svn r7326]
2007-02-25 11:37:05 +00:00
027bf40f67 Phil Bordelon points out that when I renamed `Recursive' I missed a
bit.

[originally from svn r7314]
2007-02-22 23:18:51 +00:00
86ee29ac48 James H forgot to credit himself for Galaxies!
[originally from svn r7308]
2007-02-22 10:06:59 +00:00
58995720c4 Missing uses of \q{}.
[originally from svn r7305]
2007-02-22 09:50:33 +00:00
e137ad8b1a Add James Harvey's excellent new puzzle, `Galaxies'.
[originally from svn r7304]
2007-02-22 09:31:43 +00:00
7a41702606 Phil Bordelon points out that the Unequal difficulty settings
documentation is a bit odd, and also offers a signedness fix in
latin.c.

[originally from svn r7112]
2007-01-15 20:04:11 +00:00
f43c5c9280 Formatting tweaks / index terms in Unequal docs.
[originally from svn r7105]
2007-01-13 19:19:21 +00:00
2f8dba9257 Add James H's new puzzle, `Unequal' (otherwise known as the
Guardian's `Futoshiki').

[originally from svn r7100]
2007-01-13 14:44:50 +00:00
21127b78eb It's a new year.
[originally from svn r7048]
[this svn revision also touched putty,putty-website]
2007-01-01 21:19:14 +00:00
7c736c4c1f Document the new --game and --load options on Unix.
[originally from svn r7040]
2006-12-30 00:50:29 +00:00
eac561147e Update manual copyright to 2006.
[originally from svn r7036]
2006-12-29 16:42:02 +00:00
fe4fd0ebc5 Minimal (i.e., lame) update to Loopy documentation to match reality -- it's
been wrong since r6299.

[originally from svn r6884]
[r6299 == c389f623f66fe5296f7ef5c66d88884607b82cff]
2006-10-29 17:40:45 +00:00
afe3a1372a Small docs patch from Phil Bordelon adding more history of Sudoku.
[originally from svn r6575]
2006-02-19 12:54:17 +00:00
acafc4d93f It's a new year.
[originally from svn r6513]
[this svn revision also touched halibut,putty,putty-website]
2006-01-08 18:18:11 +00:00
7c5ff85bb1 Add some random index terms. ("Sudoku" wasn't in the index!)
[originally from svn r6509]
2005-12-27 15:36:21 +00:00
c8855bff31 Document Unix command-line options.
[originally from svn r6423]
2005-10-22 19:58:59 +00:00
4faecc7726 New puzzle from James H: `Bridges', another Nikoli job.
[originally from svn r6409]
2005-10-21 08:07:31 +00:00
e841ab4367 Revamp of the control mechanism to permit drag- as well as
click-based control. Only used for right-dragging to clear a large
area to NONTENT.

[originally from svn r6400]
2005-10-14 12:23:41 +00:00
669bb81f08 New puzzle: `Tents'. Requires a potentially shared algorithms module
maxflow.c. Also in this checkin, fixes to the OS X and GTK back ends
to get ALIGN_VNORMAL right. This is the first time I've used it! :-)

[originally from svn r6390]
2005-10-13 18:30:24 +00:00
b25fcc3f26 Solve function for Inertia, using what's essentially an approximate
TSP algorithm.

[originally from svn r6289]
2005-09-11 12:40:49 +00:00
f2ff444fca Now that Map has some seriously complex deductions, it's about time
it had a command-line solver. In order to do this, I've had to
expose the internal region numbering because the solver has to have
some way to state which region it means; and in any case it's also
useful to have human-visible region numbering so that two people can
discuss a puzzle they're solving together. So pressing L during play
now toggles the display of region numbers; and `mapsolver' uses
those same numbers when showing its working and its solutions.

[originally from svn r6244]
2005-08-31 12:17:01 +00:00
121f664b62 Forcing chains in Map give rise to a new `Hard' difficulty level.
Also implemented the Map analogue of Solo's pencil marks, to make
this mode more playable.

[originally from svn r6240]
2005-08-30 19:42:45 +00:00
2975ae2811 Unreasonable mode for Map.
[originally from svn r6229]
2005-08-28 14:29:19 +00:00
622a5ff678 New puzzle: `Inertia', originally written for Windows by Ben
Olmstead and reimplemented with the help of his source code which he
was kind enough to release into the public domain.

[originally from svn r6222]
2005-08-27 09:21:22 +00:00
067f06053c Trivial doc changes after recent prolificacy.
[originally from svn r6220]
2005-08-26 19:44:25 +00:00
c9b47daf1b New puzzle: Loopy', an implementation of Nikoli's Slither Link' or
`Loop the Loop' puzzle. Contributed by Mike Pinna.

[originally from svn r6211]
2005-08-24 21:32:54 +00:00
c6fa81bfc0 Minor update to Solo's documentation due to Extreme mode.
[originally from svn r6210]
2005-08-24 17:49:52 +00:00
6ada3841a1 New puzzle: `Map'. Vaguely original, for a change.
(This puzzle is theoretically printable, but I haven't added it in
print.py since there's rather a lot of painful processing required
to get from the game ID to the puzzle's visual appearance. It
probably won't become printable unless I get round to implementing a
more integrated printing architecture.)

[originally from svn r6186]
2005-08-13 10:43:26 +00:00
c3d1982dcb Document hard mode in Slant, and also fix an obvious memory
management error in game_configure().

[originally from svn r6169]
2005-08-06 10:38:34 +00:00
56e01e54fa New puzzle: `Light Up', by James H.
Also in this checkin (committed by mistake - I meant to do it
separately), a behind-the-scenes change to Slant to colour the two
non-touching classes of diagonals in different colours. Both colours
are set to black by default, but configuration by way of
SLANT_COLOUR_* can distinguish them if you want.

[originally from svn r6164]
2005-08-04 19:14:10 +00:00
afe80030e4 New puzzle: `Slant', picked from the Japanese-language section of
nikoli.co.jp (which has quite a few puzzles that they don't seem to
have bothered to translate into English).

Minor structural change: the disjoint set forest code used in the
Net solver has come in handy again, so I've moved it out into its
own module dsf.c.

[originally from svn r6155]
2005-08-02 23:16:46 +00:00
e6132341c4 New end-game approach to Black Box. Instead of revealing the ball
positions immediately when you make an error, the game now reveals
as little information as is necessary to prove you wrong (including
none - if an existing laser path you know about is inconsistent with
your guesses, the game will just point it out and tell you nothing
new!) and you can try again. Errors are counted in much the same way
as deaths in Mines.

[originally from svn r6152]
2005-07-31 14:56:18 +00:00
6bce285027 Until now, Same Game has been the only puzzle in this collection
which is unable to guarantee that every grid it generates can be
solved. So I'm eliminating that exception: this checkin contains a
more sophisticated grid generator which does guarantee solubility.
It's a bit slow (most noticeably on the 15x10c3 preset), and the
quality of the generated grids is slightly weird (a tendency toward
small regions rather than large sweeping areas of contiguous
colour); however, I'm willing to see the latter as a feature for
now, since making the game more challenging while simultaneously
guaranteeing it to be possible sounds like an all-round win to me.

From now on I'm raising my standards for contributions to this
collection. I made this fix to Same Game because I heard a user
_automatically assume_ that any puzzle in my collection would not be
so uncouth as to generate an impossible grid; as of this checkin
that's actually true, and I intend to maintain that standard of
quality henceforth.

(Guaranteeing a _unique_ solution is more of an optional extra,
since there are many games for which it isn't a meaningful concept
or isn't particularly desirable. Which is not to say that _some_
games wouldn't be of unacceptably low quality if they failed to
guarantee uniqueness; it depends on the game.)

[originally from svn r6124]
2005-07-21 18:06:31 +00:00
11ce8d7abd Sync with website
[originally from svn r6122]
2005-07-20 23:35:43 +00:00
0df586e23a Some attempt to explain Dominosa for those unfamiliar with dominos. (Not sure
I've succeeded.)

[originally from svn r6120]
2005-07-19 19:33:49 +00:00
9e5d23e783 Black Box: fix "reveal" button location, explain what's meant by the
`firing range'

[originally from svn r6105]
2005-07-17 10:33:40 +00:00
257288773f Use \q{} and \by in Black Box docs.
[originally from svn r6104]
2005-07-17 10:13:41 +00:00
e12017b291 Another game from James H: `Black Box'.
[originally from svn r6100]
2005-07-17 08:44:18 +00:00
a8a903db47 New puzzle: `Untangle', cloned (with the addition of random grid
generation) from a simple but rather fun Flash game I saw this
morning.

Small infrastructure change for this puzzle: while most game
backends find the midend's assumption that Solve moves are never
animated to be a convenience absolving them of having to handle the
special case themselves, this one actually needs Solve to be
animated. Rather than break that convenience for the other puzzles,
I've introduced a flag bit (which I've shoved in mouse_priorities
for the moment, shamefully without changing its name).

[originally from svn r6097]
2005-07-16 19:51:53 +00:00
69410c7961 New puzzle: Dominosa.
[originally from svn r6091]
2005-07-14 17:42:01 +00:00
d4001cbc0d Some patches from James H:
- reinstate the initialisation of ds->w and ds->h in guess.c, which
   I'd accidentally removed during game_size() refactoring
 - reorganise Net's interpret_move() so that my uncommitted patch
   for drag-based UI (which he uses on the Palm port) will apply
   more easily
 - the interpret_move() changes make it easy to have a single move
   type which rotates a tile by 180 degrees, so this is now provided
   via the `F' key (but there's no spare button available to provide
   it via the mouse).

[originally from svn r6070]
2005-07-06 11:06:17 +00:00
4763b712fd It's been a new year for a while now.
[originally from svn r6065]
2005-07-05 19:38:27 +00:00
74c4a6bf27 Clarify that diagonal moves are not permitted in Pegs.
[originally from svn r6057]
2005-07-04 21:07:40 +00:00
eab3699a64 Documentation for Pegs.
[originally from svn r6053]
2005-07-04 19:53:36 +00:00