New puzzle from Jonas Koelker: 'Range', an implementation of the

puzzle variously known (depending on which website you look at) as
Kurodoko, Kuromasu or 'Where is Black Cells'.

[originally from svn r8996]
This commit is contained in:
Simon Tatham
2010-09-14 09:31:52 +00:00
parent b96a99042b
commit d14999949c
5 changed files with 1848 additions and 2 deletions

View File

@ -2,8 +2,8 @@
PUZZLES = blackbox bridges cube dominosa fifteen filling flip galaxies guess \
inertia keen lightup loopy magnets map mines net netslide pattern \
pegs rect samegame signpost singles sixteen slant solo tents towers \
twiddle unequal untangle
pegs range rect samegame signpost singles sixteen slant solo tents \
towers twiddle unequal untangle
BASE = $(patsubst %,%-base.png,$(PUZZLES))
WEB = $(patsubst %,%-web.png,$(PUZZLES))
@ -70,6 +70,7 @@ net-ibase.png : override CROP=193x193 113x113+0+80
netslide-ibase.png : override CROP=289x289 144x144+0+0
pattern-ibase.png : override CROP=384x384 223x223+0+0
pegs-ibase.png : override CROP=263x263 147x147+116+0
range-ibase.png : override CROP=256x256 98x98+111+15
rect-ibase.png : override CROP=205x205 115x115+90+0
signpost-ibase.png : override CROP=240x240 98x98+23+23
singles-ibase.png : override CROP=224x224 98x98+15+15

36
icons/range.sav Normal file
View File

@ -0,0 +1,36 @@
SAVEFILE:41:Simon Tatham's Portable Puzzle Collection
VERSION :1:1
GAME :5:Range
PARAMS :3:7x7
CPARAMS :3:7x7
SEED :15:989032078841515
DESC :22:d7b3e8e5c7a7c13e4e8b4d
UI :1:0
NSTATES :2:27
STATEPOS:2:27
MOVE :5:W,4,2
MOVE :5:W,4,3
MOVE :5:W,4,4
MOVE :5:W,4,5
MOVE :5:W,4,6
MOVE :5:W,4,0
MOVE :5:W,3,1
MOVE :5:W,2,1
MOVE :5:W,1,1
MOVE :5:W,0,1
MOVE :5:W,6,1
MOVE :5:W,5,1
MOVE :5:W,5,5
MOVE :5:W,1,5
MOVE :5:B,5,2
MOVE :5:W,5,3
MOVE :5:W,6,3
MOVE :5:W,3,6
MOVE :5:W,2,6
MOVE :5:B,3,5
MOVE :5:W,2,4
MOVE :5:W,2,2
MOVE :5:B,2,3
MOVE :5:W,1,3
MOVE :5:W,3,3
MOVE :5:W,0,5

View File

@ -2851,6 +2851,62 @@ These parameters are available from the \q{Custom...} option on the
(the start at the top left, and the end at the bottom right). If false the start
and end squares are placed randomly (although always both shown).
\C{range} \i{Range}
\cfg{winhelp-topic}{games.range}
You have a grid of squares; some squares contain numbers. Your job is
to colour some of the squares black, such that several criteria are
satisfied:
\b no square with a number is coloured black.
\b no two black squares are adjacent (horizontally or vertically).
\b for any two white squares, there is a path between them using only
white squares.
\b for each square with a number, that number denotes the number of
squares reachable from that square going in each direction until
hitting a wall or a black square.
For instance, a square containing the number one must have four black
squares as its neighbours by the last criterion; but then it's
impossible for it to be connected to any outside white square, which
violates the second to last criterion. So no square will contain the
number one.
Credit for this puzzle goes to \i{Nikoli}, who have variously called
it \q{Kurodoko}, \q{Kuromasu} or \q{Where is Black Cells}.
\k{nikoli-range}.
Range was contributed to this collection by Jonas K\u00F6{oe}lker.
\B{nikoli-range}
\W{http://www.nikoli.co.jp/en/puzzles/where_is_black_cells/}\cw{http://www.nikoli.co.jp/en/puzzles/where_is_black_cells/}
\H{range-controls} \I{controls, for Range}Range controls
Click with the left button to paint a square black, or with the right
button to mark a square with a dot to indicate that you are sure it
should \e{not} be painted black. Repeated clicking with either button
will cycle the square through the three possible states (filled,
dotted or empty) in opposite directions.
You can also use the cursor keys to move around the grid squares.
Pressing Return does the same as clicking with the left button, while
pressing Space does the same as a right button click.
(All the actions described in \k{common-actions} are also available.)
\H{range-parameters} \I{parameters, for Range}Range parameters
These parameters are available from the \q{Custom...} option on the
\q{Type} menu.
\dt \e{Width}, \e{Height}
\dd Size of grid in squares.
\A{licence} \I{MIT licence}\ii{Licence}

19
range.R Normal file
View File

@ -0,0 +1,19 @@
# -*- makefile -*-
range : [X] GTK COMMON range range-icon|no-icon
range : [G] WINDOWS COMMON range range.res|noicon.res
ALL += range[COMBINED]
!begin gtk
GAMES += range
!end
!begin >list.c
A(range) \
!end
!begin >wingames.lst
range.exe:Range
!end

1734
range.c Normal file

File diff suppressed because it is too large Load Diff