puzzlescript
Version:
Play PuzzleScript games in your terminal!
818 lines (725 loc) • 14.1 kB
Plain Text
title Marble Shoot
author Stuart Burfield
homepage www.thepixelshelf.com
========
OBJECTS
========
Background
CCFFCC
Pit
Black
Goal
Black grey
.000.
00000
00000
00000
.000.
Wall
Black #434f7b Blue #2ebdf5 #99CCFF darkblue #4DDBFF #B2F0FF
13366
12226
52223
52223
55511
HBlock
Black #293D3D #527A7A #85ADAD #99CCFF #0A0F0F #D1E0E0 white yellow #FF6600
13367
12226
59993
52223
55511
VBlock
Black #293D3D #527A7A #85ADAD #99CCFF #0A0F0F #D1E0E0 white #FFFF00 orange
13367
12826
52823
52823
55511
PlayerStill
red Green orange Black grey darkred
.333.
.222.
.121.
20002
.5.5.
PlayerRight
red Green orange Black grey
.333.
.222.
.222.
.0002
.0.0.
PlayerLeft
red Green orange Black grey
.333.
.222.
.222.
2000.
.0.0.
PlayerDown
red Green orange Black grey
.333.
.222.
.121.
20002
.0.0.
PlayerUp
red Green orange Black grey
.333.
.222.
22222
.000.
.0.0.
GMarbStill
001A00 Darkgreen green #b5e622 white
.334.
12234
01223
00113
.001.
GMarbRight
001A00 Darkgreen green #b5e622 white
.334.
12234
01223
00113
.001.
GMarbLeft
001A00 Darkgreen green #b5e622 white
.334.
12234
01223
00113
.001.
GMarbDown
001A00 Darkgreen green #b5e622 white
.334.
12234
01223
00113
.001.
GMarbUp
001A00 Darkgreen green #b5e622 white
.334.
12234
01223
00113
.001.
GMarbGo1
001A00 Darkgreen green #b5e622 white
.....
.334.
12234
01223
.011.
GMarbGo2
001A00 Darkgreen green #b5e622 white
.....
.....
.334.
12234
.122.
GMarbGo3
Black Darkgreen green #b5e622 white
.....
.....
.....
.334.
.223.
GMarbGo4
Black Darkgreen green #b5e622 white
.....
.....
.....
.....
.334.
GMarbGo5
Black Darkgreen green #b5e622 white
.....
.....
.....
.....
.....
RMarbStill
2E0000 DarkRed red orange yellow
.334.
12234
01223
00113
.001.
RMarbRight
2E0000 DarkRed red orange yellow
.334.
12234
01223
00113
.001.
RMarbLeft
2E0000 DarkRed red orange yellow
.334.
12234
01223
00113
.001.
RMarbDown
2E0000 DarkRed red orange yellow
.334.
12234
01223
00113
.001.
RMarbUp
2E0000 DarkRed red orange yellow
.334.
12234
01223
00113
.001.
RMarbGo1
2E0000 DarkRed red orange yellow
.....
.334.
12234
01223
.011.
RMarbGo2
2E0000 DarkRed red orange yellow
.....
.....
.334.
12234
.122.
RMarbGo3
Black DarkRed red orange yellow
.....
.....
.....
.334.
.223.
RMarbGo4
Black DarkRed red orange yellow
.....
.....
.....
.....
.334.
RightArrow
2EB82E #FF3300#330000 #FFCC00
21222
21122
21112
21122
21222
RightArrowUsed
008AE6 #CCEBFF #001F7A #80CCFF
21222
21122
21112
21122
21222
LeftArrow
2EB82E #FF3300 #330000 #FFCC00
22212
22112
21112
22112
22212
LeftArrowUsed
008AE6 #CCEBFF #001F7A #80CCFF
22212
22112
21112
22112
22212
UpArrow
2EB82E #FF3300 #330000 #FFCC00
22222
22122
21112
11111
22222
UpArrowUsed
008AE6 #CCEBFF #001F7A #80CCFF
22222
22122
21112
11111
22222
DownArrow
2EB82E #FF3300 #330000 #FFCC00
22222
11111
21112
22122
22222
DownArrowUsed
008AE6 #CCEBFF #001F7A #80CCFF
22222
11111
21112
22122
22222
=======
LEGEND
=======
. = Background
= Wall
P = PlayerStill
G = GMarbStill
R = RMarbStill
O = Goal
H = RightArrow
J = LeftArrow
K = UpArrow
L = DownArrow
X = Pit
B = HBlock
C = VBlock
Player = PlayerStill or PlayerRight or PlayerLeft or PlayerDown or PlayerUp
GreenMarble = GMarbStill or GMarbRight or GMarbLeft or GMarbDown or GMarbUp
RedMarble = RMarbStill or RMarbRight or RMarbLeft or RMarbDown or RMarbUp or RMarbGo1 or RMarbGo2 or RMarbGo3 or RMarbGo4
GreenDisappear = GMarbGo1 or GMarbGo2 or GMarbGo3 or GMarbGo4 or GMarbgo5
Object = Player or wall or GreenMarble or RedMarble or Hblock or VBlock
Arrow = RightArrow or LeftArrow or DownArrow or UpArrow
ArrowUsed = RightArrowUsed or LeftArrowUsed or DownArrowUsed or UpArrowUsed
=======
SOUNDS
=======
sfx0 48153307 (push marble)
sfx1 87174707 (marble hit)
sfx2 41179907 (marble stopped)
sfx3 72781708 (red marble in hole)
sfx4 50556508 (green marble in hole)
sfx5 91492107 (marble hit arrow)
sfx6 90173307 (push arrow)
================
COLLISIONLAYERS
================
Background
Goal, RightArrow, LeftArrow, DownArrow, UpArrow, Pit, Arrow, ArrowUsed
Player, Wall, GMarbStill, RMarbStill, Object, GreenDisappear
======
RULES
======
(Marble Disappear)
[GMarbGo5] -> Restart
[RMarbGo4] -> []
[RMarbGo3] -> [RMarbGo4] again
[RMarbGo2] -> [RMarbGo3] again
[RMarbGo1] -> [RMarbGo2] again
[GMarbGo4] -> [GMarbGo5] again
[GMarbGo3] -> [GMarbGo4] again
[GMarbGo2] -> [GMarbGo3] again
[GMarbGo1] -> [GMarbGo2] again
(Player Directions)
right [ right Player ] -> [ right PlayerRight ]
left [ left Player ] -> [ left PlayerLeft ]
up [ up Player ] -> [ up PlayerUp ]
down [ down Player ] -> [ down PlayerDown]
(Block Push)
Horizontal [ > Player | HBlock ] -> [ > Player | > HBlock ]
Vertical [ > Player | VBlock ] -> [ > Player | > VBlock ]
(Can't Push)
[ > Player | Goal ] -> [ Player | Goal ]
(Arrow Push)
[ > Player | Arrow | No Object ] -> [ > Player | > Arrow | No Object ] sfx6
[ > Player | Arrow | Object ] -> [ Player | Arrow | Object ] sfx6
[ > Player | Arrow | Arrow ] -> [ Player | Arrow | Arrow ] sfx6
[ > Player | Arrow | ArrowUsed ] -> [ Player | Arrow | ArrowUsed ] sfx6
[ > Player | ArrowUsed | No Object ] -> [ Player | ArrowUsed | No Object ] sfx6
[ > Player | ArrowUsed | Object ] -> [ Player | ArrowUsed | Object ] sfx6
[ > Player | ArrowUsed | Arrow ] -> [ Player | ArrowUsed | Arrow ] sfx6
[ > Player | ArrowUsed | ArrowUsed ] -> [ Player | ArrowUsed | ArrowUsed ] sfx6
(Marble Pushed)
[ > PlayerRight | GMarbStill ] -> [ > PlayerStill | > GMarbRight ] sfx0
[ > PlayerLeft | GMarbStill ] -> [ > PlayerStill | > GMarbLeft ] sfx0
[ > PlayerDown | GMarbStill ] -> [ > PlayerStill | > GMarbDown ] sfx0
[ > PlayerUp | GMarbStill ] -> [ > PlayerStill | > GMarbUp ] sfx0
(Marble collision check)
right [ GMarbRight | RMarbStill ] -> [ GMarbStill | > RMarbRight ] sfx1
right [ RMarbRight | RMarbStill ] -> [ RMarbStill | > RMarbRight ] sfx1
left [ GMarbLeft | RMarbStill ] -> [ GMarbStill | > RMarbLeft ] sfx1
left [ RMarbLeft | RMarbStill ] -> [ RMarbStill | > RMarbLeft ] sfx1
up [ GMarbUp | RMarbStill ] -> [ GMarbStill | > RMarbUp ] sfx1
up [ RMarbUp | RMarbStill ] -> [ RMarbStill | > RMarbUp ] sfx1
down [ GMarbDown | RMarbStill ] -> [ GMarbStill | > RMarbDown ] sfx1
down [ RMarbDown | RMarbStill ] -> [ RMarbStill | > RMarbDown ] sfx1
(MarblesOnArrows)
[ RedMarble LeftArrow ] -> [ LEFT RMarbLeft LeftArrowUsed ] again sfx5
[ RedMarble RightArrow ] -> [ RIGHT RMarbRight RightArrowUsed ] again sfx5
[ RedMarble DownArrow ] -> [ DOWN RMarbDown DownArrowUsed ] again sfx5
[ RedMarble UpArrow ] -> [ UP RMarbUp UpArrowUsed ] again sfx5
[ GreenMarble LeftArrow ] -> [ LEFT GMarbLeft LeftArrowUsed ] again sfx5
[ GreenMarble RightArrow ] -> [ RIGHT GMarbRight RightArrowUsed ] again sfx5
[ GreenMarble DownArrow ] -> [ DOWN GMarbDown DownArrowUsed ] again sfx5
[ GreenMarble UpArrow ] -> [ UP GMarbUp UpArrowUsed ] again sfx5
[ RedMarble LeftArrowUsed ] -> [ LEFT RMarbLeft LeftArrowUsed ] again sfx5
[ RedMarble RightArrowUsed ] -> [ RIGHT RMarbRight RightArrowUsed ] again sfx5
[ RedMarble DownArrowUsed ] -> [ DOWN RMarbDown DownArrowUsed ] again sfx5
[ RedMarble UpArrowUsed ] -> [ UP RMarbUp UpArrowUsed ] again sfx5
[ GreenMarble LeftArrowUsed ] -> [ LEFT GMarbLeft LeftArrowUsed ] again sfx5
[ GreenMarble RightArrowUsed ] -> [ RIGHT GMarbRight RightArrowUsed ] again sfx5
[ GreenMarble DownArrowUsed ] -> [ DOWN GMarbDown DownArrowUsed ] again sfx5
[ GreenMarble UpArrowUsed ] -> [ UP GMarbUp UpArrowUsed ] again sfx5
(Marble In Hole)
right [ RMarbRight | Goal ] -> [ > RMarbGo1 | Goal ] again sfx4
left [ RMarbLeft | Goal ] -> [ > RMarbGo1 | Goal ] again sfx4
up [ RMarbUp | Goal ] -> [ > RMarbGo1 | Goal ] again sfx4
down [ RMarbDown | Goal ] -> [ > RMarbGo1 | Goal ] again sfx4
right [ GMarbRight | Goal ] -> [ > GMarbGo1 | Goal ] again sfx3
left [ GMarbLeft | Goal ] -> [ > GMarbGo1 | Goal ] again sfx3
up [ GMarbUp | Goal ] -> [ > GMarbGo1 | Goal ] again sfx3
down [ GMarbDown | Goal ] -> [ > GMarbGo1 | Goal ] again sfx3
(Marble Move Loop)
random left [ GMarbLeft | No Object ] -> [ | GMarbLeft ] again
random left [ RMarbLeft | No Object ] -> [ | RMarbLeft ] again
random right [ GMarbRight | No Object ] -> [ | GMarbRight ] again
random right [ RMarbRight | No Object ] -> [ | RMarbRight ] again
random down [ RMarbDown | No Object ] -> [ | RMarbDown ] again
random down [ GMarbDown | No Object ] -> [ | GMarbDown ] again
random up [ RMarbUp | No Object ] -> [ | RMarbUp ] again
random up [ GMarbUp | No Object ] -> [ | GMarbUp ] again
(Green Marble Stop)
right [ GMarbRight | Wall ] -> [ GMarbStill | Wall ] sfx2
left [ GMarbLeft | Wall ] -> [ GMarbStill | Wall ] sfx2
down [ GMarbDown | Wall ] -> [ GMarbStill | Wall ] sfx2
up [ GMarbUp | Wall ] -> [ GMarbStill | Wall ] sfx2
right [ GMarbRight | HBlock ] -> [ GMarbStill | HBlock ] sfx2
left [ GMarbLeft | HBlock ] -> [ GMarbStill | HBlock ] sfx2
down [ GMarbDown | HBlock ] -> [ GMarbStill | HBlock ] sfx2
up [ GMarbUp | HBlock ] -> [ GMarbStill | HBlock ] sfx2
(Red Marble Stop)
right [ RMarbRight | Wall ] -> [ RMarbStill | Wall ] sfx2
left [ RMarbLeft | Wall ] -> [ RMarbStill | Wall ] sfx2
down [ RMarbDown | Wall ] -> [ RMarbStill | Wall ] sfx2
up [ RMarbUp | Wall ] -> [ RMarbStill | Wall ] sfx2
right [ RMarbRight | HBlock ] -> [ RMarbStill | HBlock ] sfx2
left [ RMarbLeft | HBlock ] -> [ RMarbStill | HBlock ] sfx2
down [ RMarbDown | HBlock ] -> [ RMarbStill | HBlock ] sfx2
up [ RMarbUp | HBlock ] -> [ RMarbStill | HBlock ] sfx2
(Player Change Back)
late [ Player ] -> [ PlayerStill ]
(cheat)
([ action Player ] -> win)
==============
WINCONDITIONS
==============
No RedMarble
=======
LEVELS
=======
Message 1
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
#########xx
#############
##........###
#..#.......##
#p.g..r..r.o#
#..#.......##
##........###
#############
#########xx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
Message 2
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
######xx
########x
##....##x
......##x
.......#x
..###..#x
p.###..#x
..###r.#x
.g.....#x
..###r.#x
####o.#x
###xx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
Message 3
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
########xx
#......##xx
###.####..##x
p..#.......##x
...#..##...##x
.g.##....#r.#x
...#....##..#x
........##r.#x
######....o.#x
#############x
#######xxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Message 4
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
########xx
############x
o...r........#
#####..#...#.#
#####..##....#
..g...r...####
p.........####
####.###....##
###......###x
#########xx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Message 5
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
##x
#o#x
####xxx##.#x
#...######.##
#.#.g..r...##
#...........#
#p....r....##
#..#.......##
##.......#.##
#######...##
#####x
#xx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
Message 6
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
##########
#p......##
##.g....##
#....r..o#
#.r....###
#...r....#
o........#
###...####
####o#####
##########
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
Message 7
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
##########x
#.p#o..#####
#.g#..r..###
##.#.....###
o..r.....ro#
#........###
####...r..##
####....#.##
####.##.#.##
###......#x
########xx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
Message 8
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
####xxxxxxx
...#####xxx
#.#.##..####
#...##.....#
##......#..#
##....r....#
##..r......#
##.....#.g.#
##.##...r.p#
##o......#.#
##########
##########
##########
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
Message 9
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
#########x
#####......#
#####.####.#
o..........#
##.###...r.#
##r####....#
.....r.....#
.#.....r#..#
.#..g.#....#
..p......#o#
############
#
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
Message 10
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
#####xxxx
######...#xxxx
....##.g.#xxxx
##.##.##..####xx
##........######
...#...p....####
.#.#.####.#.####
.....r....#.####
##r#.##.......##
...##.....#.##
o...r.......##
####..#####xx
###xxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
Message 11
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
####x
...###
g..###
..####
##.h..##
####..##
#####l##
##..#..##
o.rpj..##
##..#####
#########
######
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
Message 12
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
###x
#####..##
#h.....##
#.####l##
#g####.##
#.p....##
#o..##.##
#..#l.j##
#r.#.####
#..#h.l##
#.k.##..#
#.......#
#####.#.#
##...#
###x
xxxxxxxxxx
xxxxxxxxxx
Message 13
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
####
...##
#########.g.##
.............##
.l##..##.##h##x
..#..........#x
...p...r.r...o#
##############x
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
Message 14
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
####
...#
.#.#
#####...#
.g.l....##
........##
#....r.###
##r....###
##.ph.o###
#########
#########
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
Message 15
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
#########xxxxx
#############x
#..........o#x
#.g..##...###x
##.#.##.....#x
#.#...h....##
#.###...#...#
#.##...r#...#
#....k....###
######.p...##
########.#.##
#######...##
#####x
#xx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Message 16
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
#############
#...p......o#
#.#...r.###.#
#.k..#..###.#
#.k....####.#
#...r.......#
#.###.#######
#.......k..##
#.g...##.#.##
#######...##
#####x
#xx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Message Congratulations! You won!