Last active
March 17, 2018 06:06
-
-
Save hcs64/983d3fe448e281182289826597fe5a4b to your computer and use it in GitHub Desktop.
PrograMaze
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 PrograMaze | |
author Adam Gashlin | |
homepage gashlin.net | |
again_interval 0.25 | |
key_repeat_interval 0.25 | |
======== | |
OBJECTS | |
======== | |
ZeroEven | |
White | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
ZeroOdd | |
White | |
..... | |
000.. | |
0.0.. | |
000.. | |
..... | |
OneEven | |
White | |
..... | |
..0.. | |
..0.. | |
..0.. | |
..... | |
OneOdd | |
White | |
..... | |
.0... | |
.0... | |
.0... | |
..... | |
Background | |
Black | |
PlayerDigit | |
Yellow | |
..... | |
..... | |
..... | |
..... | |
00000 | |
PlayerGuyRun | |
Orange | |
PlayerGuyRunStart | |
Orange | |
PlayerGuyStep | |
Orange | |
PlayerGuyPause | |
Orange | |
PlayerGuyDisabled | |
Orange | |
PCL | |
Red | |
00... | |
0.... | |
..... | |
0.... | |
00... | |
PCR | |
Red | |
...00 | |
....0 | |
..... | |
....0 | |
...00 | |
PCStart | |
Transparent | |
PCStartRow | |
Transparent | |
PCEndRow | |
Transparent | |
Shadow | |
Transparent | |
Goal | |
Blue | |
LetterR | |
Grey DarkGrey | |
11111 | |
10011 | |
01111 | |
01111 | |
11111 | |
LetterU | |
Grey DarkGrey | |
11111 | |
01101 | |
01101 | |
00011 | |
11111 | |
LetterN | |
Grey DarkGrey | |
11111 | |
10011 | |
01101 | |
01101 | |
11111 | |
LetterS | |
Grey DarkGrey | |
10001 | |
01111 | |
10011 | |
11101 | |
00011 | |
LetterT | |
Grey DarkGrey | |
10111 | |
00011 | |
10111 | |
10111 | |
10111 | |
LetterE | |
Grey DarkGrey | |
10011 | |
01101 | |
00011 | |
01111 | |
10011 | |
LetterP | |
Grey DarkGrey | |
00111 | |
01011 | |
00111 | |
01111 | |
01111 | |
LeftArrow | |
Grey DarkGrey | |
11111 | |
11001 | |
10011 | |
11001 | |
11111 | |
RightArrow | |
Grey DarkGrey | |
11111 | |
10011 | |
11001 | |
10011 | |
11111 | |
UpArrow | |
Grey DarkGrey | |
11111 | |
11011 | |
10001 | |
10101 | |
11111 | |
DownArrow | |
Grey DarkGrey | |
11111 | |
10101 | |
10001 | |
11011 | |
11111 | |
Equal | |
Grey DarkGrey | |
11111 | |
10001 | |
11111 | |
10001 | |
11111 | |
ShowZero | |
Grey DarkGrey | |
11111 | |
10001 | |
10101 | |
10001 | |
11111 | |
ShowOne | |
Grey DarkGrey | |
11111 | |
11011 | |
11011 | |
11011 | |
11111 | |
Wall | |
DarkGrey | |
======= | |
LEGEND | |
======= | |
_ = Background | |
. = ZeroOdd | |
, = ZeroEven | |
S = ZeroEven and PCStartRow and PCStart | |
B = ZeroEven and PCStartRow | |
E = ZeroOdd and PCEndRow | |
J = OneEven and PCStartRow | |
I = OneOdd | |
R = LetterR | |
U = LetterU | |
N = LetterN | |
L = LeftArrow | |
T = RightArrow | |
P = UpArrow | |
D = DownArrow | |
0 = ShowZero | |
1 = ShowOne | |
Q = Equal | |
Zero = ZeroOdd or ZeroEven | |
One = OneOdd or OneEven | |
C = PlayerDigit and Wall | |
Player = PlayerDigit or PlayerGuyRun or PlayerGuyPause | |
RUNLetter = LetterR or LetterU or LetterN | |
STEPLetter = LetterS or LetterT or LetterE or LetterP | |
CmdLetter = RUNLetter or STEPLetter | |
PlayerGuy = PlayerGuyRun or PlayerGuyStep | |
WinnerGuy = PlayerGuy or PlayerGuyPause | |
@ = PlayerGuyDisabled and ZeroOdd | |
* = PlayerGuyDisabled and ZeroEven | |
G = Goal and ZeroOdd | |
H = Goal and ZeroEven | |
# = Wall | |
2 = LetterS | |
3 = LetterT | |
4 = LetterE | |
5 = LetterP | |
Z = Wall | |
======= | |
SOUNDS | |
======= | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Goal | |
Shadow | |
RUNLetter, STEPLetter, Wall, PlayerGuyRun, PlayerGuyRunStart, PlayerGuyStep, PlayerGuyPause, PlayerGuyDisabled, UpArrow, DownArrow, LeftArrow, RightArrow, Equal, ShowZero, ShowOne | |
ZeroOdd, ZeroEven, OneOdd, OneEven | |
PlayerDigit | |
PCL, PCR | |
PCStart | |
PCStartRow, PCEndRow | |
====== | |
RULES | |
====== | |
[ PCL ] [ PlayerGuyRunStart ] -> [ PCL ] [ PlayerGuyRun ] | |
[ moving PlayerGuy ] -> [ PlayerGuyStep ] | |
[ action PlayerGuyPause ] -> [ PlayerGuyStep ] | |
[ moving PlayerGuyPause ] -> [ PlayerGuyPause ] | |
( 00 = left ) | |
[ PCL no Wall ] [ PCR no Wall ] [ PlayerGuy ] -> [ PCL ] [ PCR ] [ left PlayerGuy ] | |
( 01 = right ) | |
[ PCL no Wall ] [ PCR Wall ] [ PlayerGuy ] -> [ PCL ] [ PCR Wall ] [ right PlayerGuy ] | |
( 10 = up ) | |
[ PCL Wall ] [ PCR no Wall ] [ PlayerGuy ] -> [ PCL Wall ] [ PCR ] [ up PlayerGuy ] | |
( 11 = down ) | |
[ PCL Wall ] [ PCR Wall ] [ PlayerGuy ] -> [ PCL Wall ] [ PCR Wall ] [ down PlayerGuy ] | |
[ PlayerGuyRun ] [ PCL ] -> [ PlayerGuyRun ] [ right PCL ] | |
[ PlayerGuyStep ] [ PCL ] -> [ PlayerGuyStep ] [ right PCL ] | |
( advance PC ) | |
right [ right PCL | PCR | | ] -> [ | | PCL | PCR ] again | |
( CRLF PC ) | |
right [ PCStartRow | | ... | right PCL | PCR PCEndRow ] -> [ PCStartRow down PCL | PCR | ... | | PCEndRow ] | |
down [ PCStartRow down PCL | PCStartRow ] [ PCR | ] -> [ PCStartRow | PCStartRow PCL ] [ | PCR ] again | |
[ moving PCL ] -> [ PCL ] | |
[ Action PlayerDigit OneOdd ] -> [PlayerDigit ZeroOdd ] | |
[ Action PlayerDigit OneEven ] -> [ PlayerDigit ZeroEven ] | |
[ Action PlayerDigit ZeroOdd ] -> [ PlayerDigit OneOdd ] | |
[ Action PlayerDigit ZeroEven ] -> [ PlayerDigit OneEven ] | |
(turn to stone) | |
[ Action PlayerDigit CmdLetter ] [ Zero ] -> [ Action PlayerDigit CmdLetter ] [ ] | |
[ Action PlayerDigit CmdLetter ] [ One ] -> [ Action PlayerDigit CmdLetter ] [ Wall ] | |
[ Action PlayerDigit CmdLetter ] [ ShowZero ] -> [ Action PlayerDigit CmdLetter ] [ ] | |
[ Action PlayerDigit CmdLetter ] [ ShowOne ] -> [ Action PlayerDigit CmdLetter ] [ Wall ] | |
(run!) | |
right [ Action PlayerDigit RUNLetter ] [ PCStart | ] [ PlayerGuyDisabled ] -> [ RUNLetter ] [ PCStart PCL | PCR ] [ PlayerGuyRunStart ] again | |
right [ Action PlayerDigit STEPLetter ] [ PCStart | ] [ PlayerGuyDisabled ] -> [ STEPLetter ] [ PCStart PCL | PCR ] [ PlayerGuyPause ] again | |
( in case the PlayerGuy gets wiped out by a wall ) | |
[ Action PlayerDigit CmdLetter ] -> [ CmdLetter ] | |
[ PlayerGuy ] -> [ Shadow PlayerGuy ] | |
late [ PlayerGuy Shadow ] -> cancel | |
late [ Shadow ] -> [] | |
late [ PlayerGuyStep ] -> [ PlayerGuyPause ] | |
============== | |
WINCONDITIONS | |
============== | |
Some WinnerGuy | |
All WinnerGuy on Goal | |
======= | |
LEVELS | |
======= | |
message Get the orange block to the blue goal, by moving the yellow cursor to "step" and using Action repeatedly to run the program. | |
############# | |
####S.,.,.*E# | |
####JIH.,.,E# | |
00QLB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,.,E# | |
####C#2345### | |
message You can edit the bits of the program with the cursor and Action. | |
############# | |
####S.,.,.,E# | |
####B.,.,.,E# | |
00QLB.*.,.,E# | |
01QTB.,.,.HE# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,.,E# | |
####C#2345### | |
message "run" will run the program automatically. | |
####C##RUN### | |
####S.,.,.*E# | |
####B.,.,.,E# | |
00QLB.,.,.,E# | |
01QTBG,.,.,E# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,.,E# | |
######2345### | |
####C##RUN### | |
####SG,.,.,E# | |
####B.,.,.,E# | |
00QLB.,.,.,E# | |
01QTB.,.,.,E# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,@,E# | |
######2345### | |
####C##RUN### | |
####S.,@,.,E# | |
####B.,.,.,E# | |
00QLB.,.,.,E# | |
01QTB.,.,.,E# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,G,.,E# | |
######2345### | |
####C##RUN### | |
####S.,.H.,E# | |
####B.,.,.,E# | |
00QLB.,.,.,E# | |
01QTB.,.,.,E# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,.*.,E# | |
######2345### | |
message Boss puzzle! | |
####C##RUN### | |
####S.,.,.HE# | |
####B.,.,.,E# | |
00QLB.,.,.,E# | |
01QTB.,.,.,E# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B@,.,.,E# | |
######2345### | |
message Final phase! | |
####C##RUN### | |
####S@,.,.HE# | |
####B.,.,.,E# | |
00QLB.,.,.,E# | |
01QTB.,.,.,E# | |
10QPB.,.,.,E# | |
11QDB.,.,.,E# | |
####B.,.,.,E# | |
####B.,.,.,E# | |
######2345### | |
message Thanks for playing! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment