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##########xx
##############
###........###
##..#.......##
##p.g..r..r.o#
##..#.......##
###........###
##############
xx##########xx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx

Message 2

xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
x#######xx
#########x
###....##x
#......##x
#.......#x
#..###..#x
#p.###..#x
#..###r.#x
#.g.....#x
#..###r.#x
x#####o.#x
xxxx####xx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx

Message 3

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxx#########xx
xxx##......##xx
x####.####..##x
#p..#.......##x
#...#..##...##x
#.g.##....#r.#x
#...#....##..#x
#........##r.#x
#######....o.#x
##############x
x########xxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

Message 4

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxx#########xx
x#############x
#o...r........#
######..#...#.#
######..##....#
#..g...r...####
#p.........####
#####.###....##
x####......###x
xxx##########xx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

Message 5

xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxxxxxx
xxxxxxxxxx###x
xxxxxxxxx##o#x
x#####xxx##.#x
##...######.##
##.#.g..r...##
##...........#
##p....r....##
##..#.......##
###.......#.##
x########...##
xxxxxxx######x
xxxxxxxxxx##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###########x
##.p#o..#####
##.g#..r..###
###.#.....###
#o..r.....ro#
##........###
#####...r..##
#####....#.##
#####.##.#.##
x####......#x
xx#########xx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx

Message 8

xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
x#####xxxxxxx
x#...#####xxx
##.#.##..####
##...##.....#
###......#..#
###....r....#
###..r......#
###.....#.g.#
###.##...r.p#
###o......#.#
xx###########
xx###########
xx###########
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx

Message 9

xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xx##########x
######......#
######.####.#
#o..........#
###.###...r.#
###r####....#
#.....r.....#
#.#.....r#..#
#.#..g.#....#
#..p......#o#
#############
xxxxxxxxxxx##
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx

Message 10

xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxx######xxxx
xx#######...#xxxx
xx#....##.g.#xxxx
###.##.##..####xx
###........######
#...#...p....####
#.#.#.####.#.####
#.....r....#.####
###r#.##.......##
xx#...##.....#.##
xx#o...r.......##
xxx#####..#####xx
xxxxxxx####xxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx

Message 11

xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxx#####x
xxx#...###
xxx#g..###
xxx#..####
x###.h..##
x#####..##
x######l##
###..#..##
#o.rpj..##
###..#####
##########
xxx#######
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx

Message 12

xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxx####x
######..##
##h.....##
##.####l##
##g####.##
##.p....##
##o..##.##
##..#l.j##
##r.#.####
##..#h.l##
##.k.##..#
##.......#
######.#.#
xxx###...#
xxxxx####x
xxxxxxxxxx
xxxxxxxxxx

Message 13

xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxx#####
xxxxxxxxxx#...##
x##########.g.##
#.............##
#.l##..##.##h##x
#..#..........#x
#...p...r.r...o#
###############x
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx

Message 14

xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxx#####
xxxxxx#...#
xxxxxx#.#.#
x######...#
#.g.l....##
#........##
##....r.###
###r....###
###.ph.o###
x##########
x##########
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx

Message 15

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
##########xxxxx
##############x
##..........o#x
##.g..##...###x
###.#.##.....#x
x##.#...h....##
x##.###...#...#
x##.##...r#...#
x##....k....###
x#######.p...##
x#########.#.##
xx########...##
xxxxxxxx######x
xxxxxxxxxxx##xx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

Message 16

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
x##############
x##...p......o#
x##.#...r.###.#
x##.k..#..###.#
x##.k....####.#
x##...r.......#
x##.###.#######
x##.......k..##
x##.g...##.#.##
xx########...##
xxxxxxxx######x
xxxxxxxxxxx##xx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

Message Congratulations! You won!