Skip to content

Instantly share code, notes, and snippets.

@raggy
Forked from anonymous/readme.txt
Last active August 29, 2015 14:14
Show Gist options
  • Save raggy/725e0d61abdab5f21577 to your computer and use it in GitHub Desktop.
Save raggy/725e0d61abdab5f21577 to your computer and use it in GitHub Desktop.
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Gold, Gold, Gold!
author Benjamin Davis
homepage bnhw.co.uk
again_interval 0.05
run_rules_on_level_start
========
OBJECTS
========
Background
DarkGrey
Dwarf
White LightGrey Brown
..0..
.121.
11211
.111.
.1.1.
PickaxeU
White Brown
.....
.000.
0.1.0
..1..
..1..
PickaxeD
White Brown
..1..
..1..
0.1.0
.000.
.....
PickaxeL
White Brown
..0..
.0...
.0111
.0...
..0..
PickaxeR
White Brown
..0..
...0.
1110.
...0.
..0..
PickaxeUL
White Brown
.....
...00
..0..
.0.1.
.0..1
PickaxeUR
White Brown
.....
00...
..0..
.1.0.
1..0.
PickaxeDL
White Brown
.0..1
.0.1.
..0..
...00
.....
PickaxeDR
White Brown
1..0.
.1.0.
..0..
00...
.....
Wall
Transparent
.....
.....
.....
.....
.....
Monster
Purple
.000.
00000
00.00
00000
.000.
MarkerL
Transparent
MarkerR
Transparent
MarkerU
Transparent
MarkerD
Transparent
MarkerUL
Transparent
MarkerUR
Transparent
MarkerDL
Transparent
MarkerDR
Transparent
MoveL
Transparent
MoveR
Transparent
MoveU
Transparent
MoveD
Transparent
Border
Transparent
Fog
Black
00000
00000
00000
00000
00000
0
Grey
.....
.000.
.0.0.
.000.
.....
1
Grey
.....
..0..
..0..
..0..
.....
2
Grey
.....
.00..
..0..
..00.
.....
3
Grey
.....
.000.
..00.
.000.
.....
4
Grey
.....
.0.0.
.000.
...0.
.....
5
Grey
.....
..00.
..0..
.00..
.....
6
Grey
.....
.0...
.000.
.000.
.....
7
Grey
.....
.000.
...0.
...0.
.....
8
Grey
.....
..00.
.000.
.000.
.....
9
Grey
.....
.000.
.000.
...0.
.....
=======
LEGEND
=======
Number = 0 or 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9
Marker = MarkerL or MarkerR or MarkerU or MarkerD or MarkerUL or MarkerDL or MarkerUR or MarkerDR
Player = Dwarf
Pickaxe = PickaxeL or PickaxeR or PickaxeU or PickaxeD or PickaxeUL or PickaxeUR or PickaxeDL or PickaxeDR
Move = MoveL or MoveR or MoveU or MoveD
. = Background
# = Wall
D = Dwarf
P = PickaxeU
M = Monster
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Dwarf, Pickaxe, Wall, Monster
Number
Fog
Border
Move
MarkerU
MarkerD
MarkerL
MarkerR
MarkerUL
MarkerUR
MarkerDL
MarkerDR
======
RULES
======
( Stop if walking into Wall )
([ > Dwarf | Wall ] -> [ Dwarf | Wall ])
( Mark borders )
[ ] -> [ Border ]
vertical [ | Border | ] -> [ | action Border | ]
horizontal [ | action Border | ] -> [ | | ]
( Clear )
[ Number ] -> []
[ Fog ] -> []
( Do queued dwarf move )
[ MoveU Dwarf | stationary Pickaxe ] -> [ up Dwarf | up Pickaxe ]
[ MoveD Dwarf | stationary Pickaxe ] -> [ down Dwarf | down Pickaxe ]
[ MoveL Dwarf | stationary Pickaxe ] -> [ left Dwarf | left Pickaxe ]
[ MoveR Dwarf | stationary Pickaxe ] -> [ right Dwarf | right Pickaxe ]
( Do queued pickaxe move )
[ MoveU Pickaxe ] -> [ up Pickaxe ] again
[ MoveD Pickaxe ] -> [ down Pickaxe ] again
[ MoveL Pickaxe ] -> [ left Pickaxe ] again
[ MoveR Pickaxe ] -> [ right Pickaxe ] again
( Swing pickaxe on border )
[ perpendicular Dwarf Border | Pickaxe Border ] -> [ perpendicular Dwarf Border | < Pickaxe Border ]
( Swing pickaxe )
up [ ^ Dwarf | stationary Pickaxe ] -> [ MoveL Dwarf | v MoveD v Pickaxe ] again
up [ v Dwarf | stationary Pickaxe ] -> [ MoveR Dwarf | ^ MoveD ^ Pickaxe ] again
down [ ^ Dwarf | stationary Pickaxe ] -> [ MoveR Dwarf | v MoveU v Pickaxe ] again
down [ v Dwarf | stationary Pickaxe ] -> [ MoveL Dwarf | ^ MoveU ^ Pickaxe ] again
left [ ^ Dwarf | stationary Pickaxe ] -> [ MoveD Dwarf | v MoveR v Pickaxe ] again
left [ v Dwarf | stationary Pickaxe ] -> [ MoveU Dwarf | ^ MoveR ^ Pickaxe ] again
right [ ^ Dwarf | stationary Pickaxe ] -> [ MoveU Dwarf | v MoveL v Pickaxe ] again
right [ v Dwarf | stationary Pickaxe ] -> [ MoveD Dwarf | ^ MoveL ^ Pickaxe ] again
(up [ ^ Dwarf | stationary Pickaxe ] -> [ Dwarf | v MoveD v Pickaxe ] again
up [ v Dwarf | stationary Pickaxe ] -> [ Dwarf | ^ MoveD ^ Pickaxe ] again
down [ ^ Dwarf | stationary Pickaxe ] -> [ Dwarf | v MoveU v Pickaxe ] again
down [ v Dwarf | stationary Pickaxe ] -> [ Dwarf | ^ MoveU ^ Pickaxe ] again
left [ ^ Dwarf | stationary Pickaxe ] -> [ Dwarf | v MoveR v Pickaxe ] again
left [ v Dwarf | stationary Pickaxe ] -> [ Dwarf | ^ MoveR ^ Pickaxe ] again
right [ ^ Dwarf | stationary Pickaxe ] -> [ Dwarf | v MoveL v Pickaxe ] again
right [ v Dwarf | stationary Pickaxe ] -> [ Dwarf | ^ MoveL ^ Pickaxe ] again)
( Draw diagonal pickaxes )
[ up PickaxeL ] -> [ up PickaxeUL ]
[ down PickaxeL ] -> [ down PickaxeDL ]
[ up PickaxeR ] -> [ up PickaxeUR ]
[ down PickaxeR ] -> [ down PickaxeDR ]
[ left PickaxeU ] -> [ left PickaxeUL ]
[ right PickaxeU ] -> [ right PickaxeUR ]
[ left PickaxeD ] -> [ left PickaxeDL ]
[ right PickaxeD ] -> [ right PickaxeDR ]
( Swung pickaxe breaks walls and slays monsters )
[ > Pickaxe | Wall ] -> [ > Pickaxe | ]
[ > Pickaxe | Monster ] -> [ > Pickaxe | ]
( Pickaxe follows dwarf )
[ < Dwarf | Pickaxe ] -> [ < Dwarf | < Pickaxe ]
[ > Dwarf | Pickaxe ] -> [ > Dwarf | > Pickaxe ]
( Draw adjacent pickaxes )
late up [ Dwarf | Pickaxe ] -> [ Dwarf | PickaxeU ]
late down [ Dwarf | Pickaxe ] -> [ Dwarf | PickaxeD ]
late left [ Dwarf | Pickaxe ] -> [ Dwarf | PickaxeL ]
late right [ Dwarf | Pickaxe ] -> [ Dwarf | PickaxeR ]
( Start at 0 )
[ ] -> [ 0 ]
( Mark monsters adjacent )
up [ | Monster ] -> [ MarkerU | Monster ]
down [ | Monster ] -> [ MarkerD | Monster ]
left [ | Monster ] -> [ MarkerL | Monster ]
right [ | Monster ] -> [ MarkerR | Monster ]
( Mark monsters diagonal )
up [ | MarkerL ] -> [ MarkerUL | MarkerL ]
down [ | MarkerL ] -> [ MarkerDL | MarkerL ]
up [ | MarkerR ] -> [ MarkerUR | MarkerR ]
down [ | MarkerR ] -> [ MarkerDR | MarkerR ]
( Count markers )
startloop
[ Marker 7 ] -> [ 8 ]
[ Marker 6 ] -> [ 7 ]
[ Marker 5 ] -> [ 6 ]
[ Marker 4 ] -> [ 5 ]
[ Marker 3 ] -> [ 4 ]
[ Marker 2 ] -> [ 3 ]
[ Marker 1 ] -> [ 2 ]
[ Marker 0 ] -> [ 1 ]
endloop
( Clear markers )
[ Marker ] -> []
( Clear numbers where no Wall )
[ no Wall ] -> [ no Number ]
( Clear Wall where no nearby monsters )
([ Wall 0 ] -> [ ])
( Create fog )
[ ] -> [ Fog ]
( Clear fog where no Wall or Monster )
[ no Wall no Monster ] -> [ no Fog ]
( Mark fog adjacent to clearing )
up [ no Fog | Fog ] -> [ | Fog MarkerU ]
down [ no Fog | Fog ] -> [ | Fog MarkerD ]
left [ no Fog | Fog ] -> [ | Fog MarkerL ]
right [ no Fog | Fog ] -> [ | Fog MarkerR ]
( Mark fog diagonal to clearing )
up [ Fog | Fog MarkerL ] -> [ Fog MarkerUL | Fog MarkerL ]
down [ Fog | Fog MarkerL ] -> [ Fog MarkerDL | Fog MarkerL ]
up [ Fog | Fog MarkerR ] -> [ Fog MarkerUR | Fog MarkerR ]
down [ Fog | Fog MarkerR ] -> [ Fog MarkerDR | Fog MarkerR ]
( Clear marked fog )
[ Fog Marker ] -> [ ]
( Clear markers )
[ Marker ] -> []
==============
WINCONDITIONS
==============
=======
LEVELS
=======
#########
###M#####
#####MM##
##M######
####P####
###.D####
#########
#########
###MM####
#########
#########
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment