Skip to content

Instantly share code, notes, and snippets.

@hcs64
Last active March 17, 2018 06:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hcs64/983d3fe448e281182289826597fe5a4b to your computer and use it in GitHub Desktop.
Save hcs64/983d3fe448e281182289826597fe5a4b to your computer and use it in GitHub Desktop.
PrograMaze
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