New puzzle! Contributed by Steffen Bauer, an implementation of

'Haunted Mirror Maze', a game involving placing ghosts, zombies and
vampires in a grid so that the right numbers of them are visible along
sight-lines reflected through multiple mirrors.

[originally from svn r9652]
This commit is contained in:
Simon Tatham
2012-09-08 10:48:05 +00:00
parent 15a4fbd1cd
commit 67ddba7a15
6 changed files with 2708 additions and 7 deletions

View File

@ -1,8 +1,8 @@
This software is copyright (c) 2004-2012 Simon Tatham. This software is copyright (c) 2004-2012 Simon Tatham.
Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
K<EFBFBD>lker, Dariusz Olszewski, Michael Schierl, Lambros Lambrou and K<EFBFBD>lker, Dariusz Olszewski, Michael Schierl, Lambros Lambrou, Bernd
Bernd Schmidt. Schmidt and Steffen Bauer.
Permission is hereby granted, free of charge, to any person Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files obtaining a copy of this software and associated documentation files

View File

@ -1,9 +1,10 @@
# Makefile for Puzzles icons. # Makefile for Puzzles icons.
PUZZLES = blackbox bridges cube dominosa fifteen filling flip galaxies guess \ PUZZLES = blackbox bridges cube dominosa fifteen filling flip galaxies \
inertia keen lightup loopy magnets map mines net netslide pattern \ guess inertia keen lightup loopy magnets map mines net \
pearl pegs range rect samegame signpost singles sixteen slant solo \ netslide pattern pearl pegs range rect samegame signpost \
tents towers twiddle unequal untangle singles sixteen slant solo tents towers twiddle undead \
unequal untangle
BASE = $(patsubst %,%-base.png,$(PUZZLES)) BASE = $(patsubst %,%-base.png,$(PUZZLES))
WEB = $(patsubst %,%-web.png,$(PUZZLES)) WEB = $(patsubst %,%-web.png,$(PUZZLES))
@ -81,6 +82,7 @@ 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
twiddle-ibase.png : override CROP=192x192 102x102+69+21 twiddle-ibase.png : override CROP=192x192 102x102+69+21
undead-ibase.png : override CROP=448x512 192x192+32+96
unequal-ibase.png : override CROP=208x208 104x104+104+104 unequal-ibase.png : override CROP=208x208 104x104+104+104
untangle-ibase.png : override CROP=320x320 164x164+3+116 untangle-ibase.png : override CROP=320x320 164x164+3+116
$(IBASE): %-ibase.png: %-base.png $(IBASE): %-ibase.png: %-base.png

14
icons/undead.sav Normal file
View File

@ -0,0 +1,14 @@
SAVEFILE:41:Simon Tatham's Portable Puzzle Collection
VERSION :1:1
GAME :6:Undead
PARAMS :6:4x4de2
CPARAMS :6:4x4de2
DESC :48:5,2,2,aRLgLLaLRL,2,0,1,2,1,1,2,5,0,0,0,2,1,3,1,1
NSTATES :1:7
STATEPOS:1:7
MOVE :2:G0
MOVE :2:V0
MOVE :2:G2
MOVE :2:G3
MOVE :2:V3
MOVE :2:Z3

View File

@ -2971,6 +2971,79 @@ relative to the cursor, i.e. to draw a segment or a cross.
These parameters are available from the \q{Custom...} option on the These parameters are available from the \q{Custom...} option on the
\q{Type} menu. \q{Type} menu.
\C{undead} \i{Undead}
\cfg{winhelp-topic}{games.undead}
You are given a grid of squares, some of which contain diagonal
mirrors. Every square which is not a mirror must be filled with one of
three types of undead monster: a ghost, a vampire, or a zombie.
Vampires can be seen directly, but are invisible when reflected in
mirrors. Ghosts are the opposite way round: they can be seen in
mirrors, but are invisible when looked at directly. Zombies are
visible by any means.
Around the edge of the grid are written numbers, which indicate how
many monsters can be seen if you look into the grid along a row or
column starting from that position. (The diagonal mirrors are
reflective on both sides.) You are also told the total number of each
type of monster in the grid.
This puzzle type was invented by David Millar, under the name
\q{Haunted Mirror Maze}. See \k{janko-undead} for more details.
Undead was contributed to this collection by Steffen Bauer.
\B{janko-undead}
\W{http://www.janko.at/Raetsel/Spukschloss/index.htm}
\H{undead-controls} \I{controls, for Undead}Undead controls
Undead has a similar control system to Solo, Unequal and Keen.
To play Undead, click the mouse in any empty square and then type a
letter on the keyboard indicating the type of monster: \q{G} for a
ghost, \q{V} for a vampire, or \q{Z} for a zombie. If you make a
mistake, click the mouse in the incorrect square and press Space to
clear it again (or use the Undo feature).
If you \e{right}-click in a square and then type a letter, the
corresponding monster will be shown in reduced size in that square, as
a \q{pencil mark}. You can have pencil marks for multiple monsters in
the same square. A square containing a full-size monster cannot also
contain pencil marks.
The game pays no attention to pencil marks, so exactly what you use
them for is up to you: you can use them as reminders that a particular
square needs to be re-examined once you know more about a particular
monster, or you can use them as lists of the possible monster in a
given square, or anything else you feel like.
To erase a single pencil mark, right-click in the square and type
the same letter again.
All pencil marks in a square are erased when you left-click and type a
monster letter, or when you left-click and press Space. Right-clicking
and pressing space will also erase pencil marks.
As for Solo, the cursor keys can be used in conjunction with the digit
keys to place monsters or pencil marks. Use the cursor keys to move a
highlight around the grid, and type a monster letter to enter it in
the highlighted square. Pressing return toggles the highlight into a
mode in which you can enter or remove pencil marks.
If you prefer plain letters of the alphabet to cute monster pictures,
you can press A to toggle between showing the monsters as monsters or
showing them as letters.
(All the actions described in \k{common-actions} are also available.)
\H{undead-parameters} \I{parameters, for Undead}Undead parameters
These parameters are available from the \q{Custom...} option on the
\q{Type} menu.
\dt \e{Width}, \e{Height} \dt \e{Width}, \e{Height}
\dd Size of grid in squares. \dd Size of grid in squares.
@ -2985,7 +3058,7 @@ This software is \i{copyright} 2004-2012 Simon Tatham.
Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
K\u00F6{oe}lker, Dariusz Olszewski, Michael Schierl, Lambros K\u00F6{oe}lker, Dariusz Olszewski, Michael Schierl, Lambros
Lambrou and Bernd Schmidt. Lambrou, Bernd Schmidt and Steffen Bauer.
Permission is hereby granted, free of charge, to any person Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files obtaining a copy of this software and associated documentation files

18
undead.R Normal file
View File

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

2594
undead.c Normal file

File diff suppressed because it is too large Load Diff