puzzlescript
Version:
Play PuzzleScript games in your terminal!
615 lines (523 loc) • 7.85 kB
Plain Text
title Match Pub
author bregehr
homepage www.puzzlescript.net
run_rules_on_level_start
again_interval 0.05
========
OBJECTS
========
Background
262626
target
722570 #91328e
01100
11000
10001
00011
00110
WallUD
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
23041
23041
23041
23041
23041
WallRL
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
22222
33333
00000
44444
11111
WallR
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
40401
03401
40031
03001
00001
WallL
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
20404
20430
23004
20030
20000
WallU
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
22222
00000
40300
03044
40430
WallD
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
04030
03400
04004
30304
11111
WallM
ce8d2b #8c5f1a #e0a345 #c1862c #db952b
03040
34430
43340
44303
30030
Wallsolo
ce8d2b #8c5f1a #e0a345 #e2a546 #754e12 #c1862c #db952b
32220
20651
25561
26601
01114
mug
c1993c #f9c448 #a5822e #ffd87f #d1a540
4330.
41102
41102
41102
4440.
coin
ffc721 #ffd763 #e5b21b #d8ae2f
1111.
2002.
.2220
.0002
2333.
bill
60964f #558446
.....
11111
10001
10001
11111
bottle
6d4c1f #845c26 #422e13 #5b3f19
...02
.1100
1000.
0003.
.03..
glass
d1d1d1 #c1c1c1 #dbdbdb
.010.
0.2.1
12..0
1...1
.001.
mugbreak
f2b529
0.0.0
.....
0...0
.....
0.0.0
coinbreak
ffc721
0.0.0
.....
0...0
.....
0.0.0
billbreak
60964f
000.0
00...
0...0
...00
0.000
bottlebreak
9b5a1b
0.0.0
.....
0...0
.....
0.0.0
glassbreak
d1d1d1
.0.0.
..0.0
0..0.
.0..0
0...0
Player
white
..000
.0000
00000
.0000
..000
Crate
Orange Yellow
00000
0...0
0...0
0...0
00000
startlevel
transparent
dispenser
4f3700
.....
.....
.....
.....
00000
arrowMarker
44330c #302409
111..
0001.
00001
0000.
000..
n1
684d0f
.00..
..0..
..0..
..0..
.000.
n2
684d0f
.000.
...0.
.000.
.0...
.000.
n3
684d0f
.000.
...0.
.000.
...0.
.000.
n4
684d0f
.0.0.
.0.0.
.000.
...0.
...0.
n5
684d0f
.000.
.0...
.000.
...0.
.000.
n6
684d0f
.000.
.0...
.000.
.0.0.
.000.
n7
684d0f
.000.
...0.
..0..
..0..
..0..
n8
684d0f
.000.
.0.0.
.000.
.0.0.
.000.
n9
684d0f
.000.
.0.0.
.000.
...0.
.000.
n0
684d0f
.000.
.0.0.
.0.0.
.0.0.
.000.
ruby
ff2833 #fc4b55 #ce101a #fc4b55
20001
22011
22011
22011
20001
rubybreak
ff2833
0.0.0
.....
0...0
.....
0.0.0
resume
black
pop
black
remnant
black
canMove
transparent
corner
44330c #302409
..1..
.101.
10001
.000.
..0..
=======
LEGEND
=======
1 = n1 and Wallsolo
2 = n2 and Wallsolo
3 = n3 and Wallsolo
4 = n4 and Wallsolo
5 = n5 and Wallsolo
6 = n6 and Wallsolo
7 = n7 and Wallsolo
8 = n8 and Wallsolo
9 = n9 and Wallsolo
0 = n0 and Wallsolo
x = ruby
= Wallsolo
_ = dispenser and Wallsolo
. = Background
P = Player and Wallsolo and startlevel
* = Crate
@ = Crate and Target
= Target
A = arrowMarker and Wallsolo
item = mug or coin or bill or bottle or glass
break = mugbreak or coinbreak or billbreak or bottlebreak or glassbreak or rubybreak
Wall = WallUD or WallRL or WallR or WallL or WallM or Wallsolo or WallU or WallD
number = n1 or n2 or n3 or n4 or n5 or n6 or n7 or n8 or n9 or n0
movable = item or ruby
object = wall or item or ruby
=======
SOUNDS
=======
coinbreak create 72616700
bottlebreak create 31700700
mugbreak create 26584100
glassbreak create 93669308
billbreak create 25628302
rubybreak create 90250500
target destroy 11655907
sfx0 85729907
================
COLLISIONLAYERS
================
resume, canMove
pop, remnant
Background
Target
Crate, item, break, movable
wall
number
dispenser
Player
startlevel
arrowMarker
corner
======
RULES
======
(Wallify)
Vertical [ Wall | Wallsolo | Wall ] -> [ Wall | WallUD | Wall ]
Horizontal [ Wall | Wallsolo | Wall ] -> [ Wall | WallRL | Wall ]
Horizontal [ Wall | WallUD | Wall ] -> [ Wall | WallM | Wall ]
Left [ WallUD | Wall ] -> [ WallR | Wall ]
Right [ WallUD | Wall ] -> [ WallL | Wall ]
Up [ WallRL | Wall ] -> [ WallD | Wall ]
Down [ WallRL | Wall ] -> [ WallU | Wall ]
(generate)
[startlevel][no wall no player no item no ruby] -> [startlevel][random item]
startloop
[startlevel][mug|mug|mug] -> [startlevel][random item|random item|random item]
+[startlevel][coin|coin|coin] -> [startlevel][random item|random item|random item]
+[startlevel][bill|bill|bill] -> [startlevel][random item|random item|random item]
+[startlevel][bottle|bottle|bottle] -> [startlevel][random item|random item|random item]
+[startlevel][glass|glass|glass] -> [startlevel][random item|random item|random item]
endloop
[startlevel][] -> [startlevel][corner]
startloop
UP [startlevel][corner | ... | corner] -> [startlevel][ | ... | corner]
LEFT [startlevel][corner | ... | corner] -> [startlevel][ | ... | corner]
endloop
[startlevel] -> []
(pop)
[break] -> [remnant] again
[mug pop] -> [mugbreak]
[coin pop] -> [coinbreak]
[bill pop] -> [billbreak]
[bottle pop] -> [bottlebreak]
[glass pop] -> [glassbreak]
[ruby pop] -> [rubybreak]
[break] -> again
(drop)
[resume] -> []
[arrowMarker][remnant] -> [arrowMarker resume][]
down [movable|no object][arrowMarker] -> [> movable|][arrowMarker resume] again
down [movable|> movable][arrowMarker] -> [> movable|> movable][arrowMarker resume]
late down [dispenser | no movable] -> [dispenser | random item]
(target break)
[break target] -> [break]
(moving)
LEFT [action player | movable] -> [action player | LEFT movable]
movable | movable] -> [> movable | > movable]
movable | Wall] [player] -> [ | Wall] [player movable]
[player movable] -> [player LEFT movable] sfx0
[canMove] -> []
horizontal [player | ... | movable][arrowMarker] -> [player | ... | movable][arrowMarker canMove]
LEFT [canMove][ > Player | movable | ... | wall | movable] -> [canMove][ | movable | ... | wall player | movable]
RIGHT [canMove][ > Player | ... | movable | wall] -> [canMove][ | ... | movable | wall player]
player | ... | corner] -> cancel
player | ... | arrowMarker] -> cancel
[< player | ... | corner] -> cancel
[< player | ... | arrowMarker] -> cancel
startloop
late LEFT [ player | wall | ... | movable] -> [ | player wall | ... | movable]
late RIGHT [ player no wall | ] -> [ | player]
endloop
(prepare popping)
late [arrowMarker no resume][mug|mug|mug] -> [arrowMarker][mug pop|mug pop|mug pop]
late [arrowMarker no resume][coin|coin|coin] -> [arrowMarker][coin pop|coin pop|coin pop]
late [arrowMarker no resume][bill|bill|bill] -> [arrowMarker][bill pop|bill pop|bill pop]
late [arrowMarker no resume][bottle|bottle|bottle] -> [arrowMarker][bottle pop|bottle pop|bottle pop]
late [arrowMarker no resume][glass|glass|glass] -> [arrowMarker][glass pop|glass pop|glass pop]
late [arrowMarker no resume][ruby|ruby|ruby] -> [arrowMarker][ruby pop|ruby pop|ruby pop]
late [movable pop] -> again
==============
WINCONDITIONS
==============
no target
no ruby
=======
LEVELS
=======
_____#
.....#
.....#
..$..#
.$$$.#
.$$$.p
.$$$.#
.$$$.#
..$..#
.....#
.....#
####
____###
....###
...._##
#$$..##
#$$$._#
##$$..p
#_$$..#
#$$$.##
_$$..##
....###
....###
#####
##___#
##$$$#
##$$$#
__$$$#
$$$$$#
$$$$$p
$$$$$#
$$$$$#
$$$###
$$$###
$$$###
####
_____#
.....#
..x..#
.....p
..x..#
.....#
..x..#
.....#
.....#
.....#
####
________#
$$$.....#
$$$...x.p
$$$.....#
...######
.x.######
..._____#
$$$.....#
$$$...x.#
$$$.....#
#######
_____#
.....#
.x.x.#
.....#
.....p
.....#
.....#
.....#
.....#
#...##
#...##
##x###
####
_______##
......._#
.xx.....#
.xx.....p
........#
####....#
####....#
####....#
####....#
####....#
#######
_________#
.........#
.........#
...x.x...#
...###...p
...###...#
...###...#
...___...#
...$$$...#
...$$$...#
x.x###x.x#
########
_____#
.....#
.....p
.....#
__...#
$$...#
$$...#
__...#
$$...#
$$...#
##...#
####
___####_##
...####x##
.x.####.##
...__##x##
.....##.##
.....##x##
.....##.##
##...__._#
##.......#
##.......#
##.......p
##.......#
##.......#
###.....##
#######