New puzzle from James Harvey: 'Tracks'.

This commit is contained in:
Simon Tatham
2015-02-08 16:23:32 +00:00
parent bd0a357047
commit 362bf8d450
7 changed files with 2737 additions and 1 deletions

1
.gitignore vendored
View File

@ -56,6 +56,7 @@
/solosolver /solosolver
/tents /tents
/tentssolver /tentssolver
/tracks
/towers /towers
/towerssolver /towerssolver
/twiddle /twiddle

19
html/tracks.html Normal file
View File

@ -0,0 +1,19 @@
Tracks
<p>
Complete the track from A to B so that the rows and
columns contain the same number of track segments as are indicated in the
clues to the top and right of the grid. There are only straight and
90-degree curved rail sections, and the track may not cross itself.
<p>
Left-click on an edge between two squares to add a track segment between
the two squares. Right-click on an edge to add a cross on the edge,
indicating no track is possible there.
<p>
Left-click in a square to add a colour indicator showing that you know the
square must contain a track, even if you don't know which edges it crosses
yet. Right-click in a square to add a cross indicating it contains no
track segment.
<p>
Left- or right-drag between squares to lay a straight line of is-track or
is-not-track indicators, useful for filling in rows or columns to match the
clue.

View File

@ -4,7 +4,7 @@ PUZZLES = blackbox bridges cube dominosa fifteen filling flip flood \
galaxies guess inertia keen lightup loopy magnets map mines \ galaxies guess inertia keen lightup loopy magnets map mines \
net netslide pattern pearl pegs range rect samegame \ net netslide pattern pearl pegs range rect samegame \
signpost singles sixteen slant solo tents towers twiddle \ signpost singles sixteen slant solo tents towers twiddle \
undead unequal unruly untangle tracks undead unequal unruly untangle
BASE = $(patsubst %,%-base.png,$(PUZZLES)) BASE = $(patsubst %,%-base.png,$(PUZZLES))
WEB = $(patsubst %,%-web.png,$(PUZZLES)) WEB = $(patsubst %,%-web.png,$(PUZZLES))
@ -81,6 +81,7 @@ slant-ibase.png : override CROP=321x321 160x160+160+160
solo-ibase.png : override CROP=481x481 145x145+24+24 solo-ibase.png : override CROP=481x481 145x145+24+24
tents-ibase.png : override CROP=320x320 165x165+142+0 tents-ibase.png : override CROP=320x320 165x165+142+0
towers-ibase.png : override CROP=300x300 102x102+151+6 towers-ibase.png : override CROP=300x300 102x102+151+6
tracks-ibase.png : override CROP=246x246 118x118+6+6
twiddle-ibase.png : override CROP=192x192 102x102+69+21 twiddle-ibase.png : override CROP=192x192 102x102+69+21
undead-ibase.png : override CROP=416x480 192x192+16+80 undead-ibase.png : override CROP=416x480 192x192+16+80
unequal-ibase.png : override CROP=208x208 104x104+104+104 unequal-ibase.png : override CROP=208x208 104x104+104+104

31
icons/tracks.sav Normal file
View File

@ -0,0 +1,31 @@
SAVEFILE:41:Simon Tatham's Portable Puzzle Collection
VERSION :1:1
GAME :12:Train Tracks
PARAMS :5:6x6dt
CPARAMS :5:6x6dt
SEED :15:145870397370785
DESC :31:l6t9b,3,2,1,S4,5,4,2,6,S3,2,3,3
NSTATES :2:23
STATEPOS:2:20
MOVE :5:TD0,0
MOVE :5:TR0,0
MOVE :5:TL5,5
MOVE :5:TU5,5
MOVE :29:TS1,1;TS2,1;TS3,1;TS4,1;TS5,1
MOVE :29:NS2,0;NS2,2;NS2,3;NS2,4;NS2,5
MOVE :5:TU1,1
MOVE :17:NS0,3;NS0,4;NS0,5
MOVE :23:NS1,2;NS1,3;NS1,4;NS1,5
MOVE :5:TL2,1
MOVE :5:TL3,1
MOVE :5:TS4,4
MOVE :5:TS3,4
MOVE :17:NS3,0;NS4,0;NS5,0
MOVE :5:TS4,2
MOVE :5:TS4,3
MOVE :5:TU3,4
MOVE :5:TL4,4
MOVE :5:TL5,1
MOVE :5:TU5,2
MOVE :5:NS5,3
MOVE :5:NS3,2

View File

@ -3183,6 +3183,62 @@ real challenge, set this value to 0 and then try to solve a grid in
} }
\C{tracks} \i{Tracks}
\cfg{winhelp-topic}{games.tracks}
You are given a grid of squares, some of which are filled with train
tracks. You need to complete the track from A to B so that the rows and
columns contain the same number of track segments as are indicated in the
clues to the top and right of the grid.
There are only straight and 90 degree curved rails, and the track may not
cross itself.
Tracks was contributed to this collection by James Harvey.
\H{tracks-controls} \I{controls, for Tracks}Tracks controls
Left-clicking on an edge between two squares adds a track segment between
the two squares. Right-clicking on an edge adds a cross on the edge,
indicating no track is possible there.
Left-clicking in a square adds a colour indicator showing that you know the
square must contain a track, even if you don't know which edges it crosses
yet. Right-clicking in a square adds a cross indicating it contains no
track segment.
Left- or right-dragging between squares allows you to lay a straight line
of is-track or is-not-track indicators, useful for filling in rows or
columns to match the clue.
(All the actions described in \k{common-actions} are also available.)
\H{tracks-parameters} \I{parameters, for Tracks}Tracks parameters
These parameters are available from the \q{Custom...} option on the
\q{Type} menu.
\dt \e{Width}, \e{Height}
\dd Size of the grid, in squares.
\dt \e{Difficulty}
\dd Controls the difficulty of the generated puzzle: at Tricky level,
you are required to make more deductions regarding disregarding moves
that would lead to impossible crossings later.
\dt \e{Disallow consecutive 1 clues}
\dd Controls whether the Tracks game generation permits two adjacent
rows or columns to have a 1 clue, or permits the row or column of the
track's endpoint to have a 1 clue. By default this is not permitted,
to avoid long straight boring segments of track and make the games
more twiddly and interesting. If you want to restore the possibility,
turn this option off.
\A{licence} \I{MIT licence}\ii{Licence} \A{licence} \I{MIT licence}\ii{Licence}
This software is \i{copyright} 2004-2014 Simon Tatham. This software is \i{copyright} 2004-2014 Simon Tatham.

21
tracks.R Normal file
View File

@ -0,0 +1,21 @@
# -*- makefile -*-
TRACKS_EXTRA = dsf
tracks : [X] GTK COMMON tracks TRACKS_EXTRA tracks-icon|no-icon
tracks : [G] WINDOWS COMMON tracks TRACKS_EXTRA tracks.res|noicon.res
ALL += tracks[COMBINED] TRACKS_EXTRA
!begin gtk
GAMES += tracks
!end
!begin >list.c
A(tracks) \
!end
!begin >gamedesc.txt
tracks:tracks.exe:Tracks:Path-finding railway track puzzle:Fill in the railway track according to the clues.
!end

2607
tracks.c Normal file

File diff suppressed because it is too large Load Diff