-
-
Save raggy/725e0d61abdab5f21577 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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