UNPKG

puzzlescript

Version:

Play PuzzleScript games in your terminal!

443 lines (369 loc) 6.41 kB
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!