Created
June 14, 2020 19:38
-
-
Save 10c8/e330e0376ed174066a092f1c36636b28 to your computer and use it in GitHub Desktop.
PuzzleTech 0.74 (PuzzleScript Script)
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
Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
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
(- | |
- PuzzleTech | |
- version 0.74 | |
-) | |
title PuzzleTech 0.74 | |
author 0x77 | |
homepage 0x77.bit | |
background_color #777 | |
text_color #333 | |
flickscreen 26x15 | |
realtime_interval .1 | |
======== | |
OBJECTS | |
======== | |
( Background ) | |
BACKGROUND . | |
BLACK | |
( Cursor ) | |
PLAYER @ | |
#111 | |
00.00 | |
0...0 | |
..... | |
0...0 | |
00.00 | |
CURSOR + | |
#700 | |
00.00 | |
0...0 | |
..... | |
0...0 | |
00.00 | |
( HUD ) | |
HUD_BG _ | |
#555 | |
HUD_BR ; | |
#555 | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
( Icons ) | |
I_DEL | |
#500 | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
I_SPRK | |
YELLOW | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
I_CPWR | |
#A65626 | |
..... | |
.000. | |
.0... | |
.000. | |
..... | |
I_PSWR | |
#C96C5A | |
..... | |
.000. | |
.000. | |
.0... | |
..... | |
I_NGWR | |
#6C87A4 | |
..... | |
.000. | |
.0.0. | |
.0.0. | |
..... | |
I_LASR | |
#A3CE27 | |
..... | |
.0... | |
.0... | |
.000. | |
..... | |
I_SAND | |
#E6E0C7 | |
..... | |
..00. | |
..0.. | |
.00.. | |
..... | |
I_FLTR | |
#1F2587 | |
..... | |
.000. | |
.00.. | |
.0... | |
..... | |
I_WATR | |
#428BDD | |
..... | |
.0.0. | |
.000. | |
.000. | |
..... | |
I_SLCN | |
#A9A9A9 | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
I_IWRE | |
#033 | |
..... | |
.000. | |
..0.. | |
.000. | |
..... | |
I_OXYG | |
#B5D8EE | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
( Entities ) | |
END / | |
TRANSPARENT | |
CPWR | |
#A65626 | |
PSWR | |
#C96C5A | |
NGWR | |
#6C87A4 | |
LASR | |
#A3CE27 | |
SAND | |
#E6E0C7 | |
FLTR | |
#1F2587 | |
WATR | |
#428BDD | |
WTR_L | |
#428BDD | |
WTR_R | |
#428BDD | |
WTR_D | |
#428BDD | |
SLCN | |
#A9A9A9 | |
IWRE | |
#033 | |
OXYG | |
#B5D8EE | |
( Properties ) | |
SPRK | |
YELLOW | |
DCAY | |
ORANGE | |
RAY0 | |
#FFF | |
RAY1 | |
#DDD | |
RAY2 | |
#BBB | |
RAY3 | |
#999 | |
RAY4 | |
#777 | |
( Tokens ) | |
X | |
TRANSPARENT | |
Z | |
TRANSPARENT | |
Q | |
TRANSPARENT | |
W | |
TRANSPARENT | |
U | |
TRANSPARENT | |
D | |
TRANSPARENT | |
L | |
TRANSPARENT | |
R | |
TRANSPARENT | |
Y | |
#777 #FFF | |
..... | |
.101. | |
.101. | |
.101. | |
..... | |
PAUSE ! | |
#FFF | |
..... | |
..0.. | |
..00. | |
..0.. | |
..... | |
STEP | |
#FFF | |
..... | |
..0.. | |
...0. | |
..0.. | |
..... | |
SELT - | |
TRANSPARENT | |
CTMP = | |
TRANSPARENT | |
======= | |
LEGEND | |
======= | |
WIRE = CPWR or PSWR or NGWR or IWRE | |
HUD = HUD_BG or HUD_BR | |
ICON = I_DEL or I_SPRK or I_CPWR or I_PSWR or I_NGWR or I_LASR or I_SAND or I_FLTR or I_WATR or I_SLCN or I_IWRE or I_OXYG | |
PROP = SPRK or DCAY | |
RAY = RAY0 or RAY1 or RAY2 or RAY3 or RAY4 | |
TOKN = PAUSE or STEP or SELT or CTMP | |
SPEC = Q or W | |
DIR = U or D or L or R | |
WATER = WATR or WTR_L or WTR_R or WTR_D | |
GAS = OXYG | |
SOLID = HUD_BG or WIRE or LASR or RAY or SAND or SLCN | |
THING = GAS or SOLID or FLTR | |
FALLS = SAND | |
WCLL = THING or WATER | |
COND = WIRE OR WATER | |
RPWR = PSWR | |
( HUD ) | |
0 = HUD_BG and I_SPRK | |
1 = HUD_BG and I_CPWR | |
2 = HUD_BG and I_PSWR | |
3 = HUD_BG and I_NGWR | |
4 = HUD_BG and I_LASR | |
5 = HUD_BG and I_SAND | |
6 = HUD_BG and I_FLTR | |
7 = HUD_BG and I_WATR | |
8 = HUD_BG and I_SLCN | |
9 = HUD_BG and I_IWRE | |
A = HUD_BG and I_OXYG | |
, = 0 and PLAYER | |
' = HUD_BG and PAUSE | |
: = HUD_BG and STEP | |
? = HUD_BG and I_DEL | |
======= | |
SOUNDS | |
======= | |
================ | |
COLLISIONLAYERS | |
================ | |
( BG ) | |
BACKGROUND | |
( Entities ) | |
RAY | |
WATER GAS WIRE LASR SAND SLCN FLTR | |
PROP | |
( Cursor ) | |
CURSOR | |
( HUD ) | |
HUD | |
ICON | |
PLAYER END | |
( Special ) | |
TOKN | |
X Y Z | |
SPEC | |
DIR | |
====== | |
RULES | |
====== | |
( Realtime fix ) | |
[ STATIONARY @ ] [Q] -> [ @ ] [W] | |
[ MOVING @ ] [W] -> [ MOVING @ ] [Q] | |
( Play/pause/step ) | |
[ ACTION @ ! NO Y ] -> [ @ ! Y ] | |
[ ACTION @ ! Y ] -> [ @ ! ] | |
[ : X ] [ ! Y ] [ W ] -> [:] [!] [Q] | |
[ - NO X ] [ ACTION @ : NO X ] [ ! NO Y ] [Q] -> [ - NO X ] [ @ : X ] [ ! Y ] [W] | |
( Gas physics ) | |
[W][! Y] [ STATIONARY GAS | NO THING ] -> [W][! Y] [ RANDOMDIR GAS | ] | |
( Water physics ) | |
[W][! Y] [ > WATER SPEC ] -> [W][! Y] [ > WATER > SPEC ] | |
[W][! Y] [ > WATER PROP ] -> [W][! Y] [ > WATER > PROP ] | |
[W][! Y] [ WATER ] -> [W][! Y] [ STATIONARY WATR ] | |
DOWN [W][! Y] [ WATER | NO WCLL NO WATER ] -> [W][! Y] [ DOWN WTR_D | ] | |
DOWN [W][! Y] [ WTR_D | WCLL ] -> [W][! Y] [ STATIONARY WATR | WCLL ] | |
RIGHT [W][! Y] [ WATER | WTR_D ] -> [W][! Y] [ RIGHT WTR_R | WTR_D ] | |
RIGHT [W][! Y] [ WTR_D | WATR ] -> [W][! Y] [ WTR_D | LEFT WTR_L ] | |
RIGHT [W][! Y] [ WATR | WTR_R ] -> [W][! Y] [ RIGHT WTR_R | WTR_R ] | |
RIGHT [W][! Y] [ WTR_L | WATR ] -> [W][! Y] [ WTR_L | LEFT WTR_L ] | |
DOWN [W][! Y] [ WTR_D | WATR ] -> [W][! Y] [ WTR_D | RIGHT WATR ] | |
RIGHT [W][! Y] [ RIGHT WATR | WATR ] -> [W][! Y] [ LEFT WATR | WATR ] | |
HORIZONTAL [W][! Y] [ WCLL | WATR | NO WCLL ] -> [W][! Y] [ WCLL | > WATR | ] | |
RANDOM HORIZONTAL [W][! Y] [ NO WCLL | STATIONARY WATR | NO WCLL ] -> [W][! Y] [ | > WATR | ] | |
LATE DOWN [W][! Y] [ WATER | NO WCLL NO WATER ] -> [W][! Y] [ WATER | ] | |
( Gravity ) | |
LATE [! Y] [ GAS U ] -> [! Y] [ SAND ] | |
LATE [! Y] [ WATER U ] -> [! Y] [ SAND ] | |
DOWN [W][! Y] [ SAND | GAS ] -> [W][! Y] [ RANDOMDIR GAS | GAS U ] | |
DOWN [W][! Y] [ SAND | WATER ] -> [W][! Y] [ RANDOMDIR WATER | WATER U ] | |
DOWN [W][! Y] [ FALLS | NO THING ] -> [W][! Y] [ DOWN FALLS | ] | |
( LASR logic ) | |
LATE [W][! Y] [RAY4] -> [W][! Y] [] | |
LATE [W][! Y] [RAY3] -> [W][! Y] [RAY4] | |
LATE [W][! Y] [RAY2] -> [W][! Y] [RAY3] | |
LATE [W][! Y] [RAY1] -> [W][! Y] [RAY2] | |
LATE [W][! Y] [RAY0] -> [W][! Y] [RAY1] | |
LATE UP [W][! Y] [ LASR U | FLTR ] -> [W][! Y] [ LASR U | FLTR RAY0 U ] | |
LATE DOWN [W][! Y] [ LASR D | FLTR ] -> [W][! Y] [ LASR D | FLTR RAY0 D ] | |
LATE LEFT [W][! Y] [ LASR L | FLTR ] -> [W][! Y] [ LASR L | FLTR RAY0 L ] | |
LATE RIGHT [W][! Y] [ LASR R | FLTR ] -> [W][! Y] [ LASR R | FLTR RAY0 R ] | |
LATE UP [W][! Y] [ LASR U | NO SOLID ] -> [W][! Y] [ LASR U | RAY0 U ] | |
LATE DOWN [W][! Y] [ LASR D | NO SOLID ] -> [W][! Y] [ LASR D | RAY0 D ] | |
LATE LEFT [W][! Y] [ LASR L | NO SOLID ] -> [W][! Y] [ LASR L | RAY0 L ] | |
LATE RIGHT [W][! Y] [ LASR R | NO SOLID ] -> [W][! Y] [ LASR R | RAY0 R ] | |
[W][! Y] [ LASR DIR ] -> [W][! Y] [ LASR ] | |
UP [W][! Y] [ RAY0 U | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 U ] | |
DOWN [W][! Y] [ RAY0 D | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 D ] | |
LEFT [W][! Y] [ RAY0 L | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 L ] | |
RIGHT [W][! Y] [ RAY0 R | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 R ] | |
LATE UP [W][! Y] [ RAY0 U | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 U ] | |
LATE DOWN [W][! Y] [ RAY0 D | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 D ] | |
LATE LEFT [W][! Y] [ RAY0 L | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 L ] | |
LATE RIGHT [W][! Y] [ RAY0 R | FLTR ] -> [W][! Y] [ RAY0 | FLTR RAY0 R ] | |
UP [W][! Y] [ RAY0 U | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 U ] | |
DOWN [W][! Y] [ RAY0 D | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 D ] | |
LEFT [W][! Y] [ RAY0 L | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 L ] | |
RIGHT [W][! Y] [ RAY0 R | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 R ] | |
LATE UP [W][! Y] [ RAY0 U | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 U ] | |
LATE DOWN [W][! Y] [ RAY0 D | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 D ] | |
LATE LEFT [W][! Y] [ RAY0 L | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 L ] | |
LATE RIGHT [W][! Y] [ RAY0 R | NO SOLID ] -> [W][! Y] [ RAY0 | RAY0 R ] | |
UP [W][! Y] [ SPRK | LASR NO DIR | FLTR ] -> [W][! Y] [ SPRK | LASR U | FLTR ] | |
DOWN [W][! Y] [ SPRK | LASR NO DIR | FLTR ] -> [W][! Y] [ SPRK | LASR D | FLTR ] | |
LEFT [W][! Y] [ SPRK | LASR NO DIR | FLTR ] -> [W][! Y] [ SPRK | LASR L | FLTR ] | |
RIGHT [W][! Y] [ SPRK | LASR NO DIR | FLTR ] -> [W][! Y] [ SPRK | LASR R | FLTR ] | |
UP [W][! Y] [ SPRK | LASR NO DIR | NO RAY ] -> [W][! Y] [ SPRK | LASR U |] | |
DOWN [W][! Y] [ SPRK | LASR NO DIR | NO RAY ] -> [W][! Y] [ SPRK | LASR D |] | |
LEFT [W][! Y] [ SPRK | LASR NO DIR | NO RAY ] -> [W][! Y] [ SPRK | LASR L |] | |
RIGHT [W][! Y] [ SPRK | LASR NO DIR | NO RAY ] -> [W][! Y] [ SPRK | LASR R |] | |
( SPRK logic ) | |
LATE [W][! Y] [ PROP NO COND ] -> [W][! Y] [] | |
LATE [W][! Y] [ WIRE X ] -> [W][! Y] [ WIRE SPRK ] | |
LATE [W][! Y] [ WATER Q ] -> [W][! Y] [ WATER SPRK ] | |
[W][! Y] [ SPRK | WIRE NO PROP ] -> [W][! Y] [ SPRK | WIRE X ] | |
[W][! Y] [ SPRK | WATER NO PROP ] -> [W][! Y] [ SPRK | WATER Q ] | |
[W][! Y] [ SPRK | IWRE NO PROP ] -> [W][! Y] [ SPRK | IWRE X SPRK ] | |
UP [W][! Y] [ RAY0 U | PSWR ] -> [W][! Y] [ RAY0 U | PSWR X ] | |
DOWN [W][! Y] [ RAY0 D | PSWR ] -> [W][! Y] [ RAY0 D | PSWR X ] | |
LEFT [W][! Y] [ RAY0 L | PSWR ] -> [W][! Y] [ RAY0 L | PSWR X ] | |
RIGHT [W][! Y] [ RAY0 R | PSWR ] -> [W][! Y] [ RAY0 R | PSWR X ] | |
[W][! Y] [ COND DCAY ] -> [W][! Y] [ COND ] | |
[W][! Y] [ COND SPRK ] -> [W][! Y] [ COND DCAY ] | |
[W][! Y] [ COND X SPRK ] -> [W][! Y] [ COND SPRK ] | |
( Cursor ) | |
[ - X ] [ > @ ] [ + ICON ] -> [ - X ] [ @ ] [ > + > ICON ] | |
[ > @ | ; ] [ - NO X ] [+] [=] -> [ @ | ; + I_DEL ] [ - X ] [=] [] | |
[ > + ICON | _ NO @ ] [ - X ] [=] [@] -> [ = | @ _ ] [-] [+] [] | |
[ > + ICON | _ @ ] [ - X ] [=] -> [ = | @ _ ] [-] [+] | |
[ - NO X ] [ ACTION @ 0 ] [+] [=] -> [ - X ] [ @ 0 ] [=] [ + I_SPRK ] | |
[ - NO X ] [ ACTION @ 1 ] [+] [=] -> [ - X ] [ @ 1 ] [=] [ + I_CPWR ] | |
[ - NO X ] [ ACTION @ 2 ] [+] [=] -> [ - X ] [ @ 2 ] [=] [ + I_PSWR ] | |
[ - NO X ] [ ACTION @ 3 ] [+] [=] -> [ - X ] [ @ 3 ] [=] [ + I_NGWR ] | |
[ - NO X ] [ ACTION @ 4 ] [+] [=] -> [ - X ] [ @ 4 ] [=] [ + I_LASR ] | |
[ - NO X ] [ ACTION @ 5 ] [+] [=] -> [ - X ] [ @ 5 ] [=] [ + I_SAND ] | |
[ - NO X ] [ ACTION @ 6 ] [+] [=] -> [ - X ] [ @ 6 ] [=] [ + I_FLTR ] | |
[ - NO X ] [ ACTION @ 7 ] [+] [=] -> [ - X ] [ @ 7 ] [=] [ + I_WATR ] | |
[ - NO X ] [ ACTION @ 8 ] [+] [=] -> [ - X ] [ @ 8 ] [=] [ + I_SLCN ] | |
[ - NO X ] [ ACTION @ 9 ] [+] [=] -> [ - X ] [ @ 9 ] [=] [ + I_IWRE ] | |
[ - NO X ] [ ACTION @ A ] [+] [=] -> [ - X ] [ @ A ] [=] [ + I_OXYG ] | |
[ ACTION @ ] [ + I_DEL WCLL ] -> [ @ ] [ + I_DEL ] | |
[ ACTION @ ] [ + I_SPRK COND NO PROP ] -> [ @ ] [ + I_SPRK COND SPRK ] | |
[ ACTION @ ] [ + I_CPWR ] -> [ @ ] [ + I_CPWR CPWR ] | |
[ ACTION @ ] [ + I_PSWR ] -> [ @ ] [ + I_PSWR PSWR ] | |
[ ACTION @ ] [ + I_NGWR ] -> [ @ ] [ + I_NGWR NGWR ] | |
[ ACTION @ ] [ + I_LASR ] -> [ @ ] [ + I_LASR LASR ] | |
[ ACTION @ ] [ + I_SAND ] -> [ @ ] [ + I_SAND SAND ] | |
[ ACTION @ ] [ + I_FLTR ] -> [ @ ] [ + I_FLTR FLTR ] | |
[ ACTION @ ] [ + I_WATR ] -> [ @ ] [ + I_WATR WATR ] | |
[ ACTION @ ] [ + I_SLCN ] -> [ @ ] [ + I_SLCN SLCN ] | |
[ ACTION @ ] [ + I_IWRE ] -> [ @ ] [ + I_IWRE IWRE ] | |
[ ACTION @ ] [ + I_OXYG ] -> [ @ ] [ + I_OXYG OXYG ] | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
+-Q....................../':_;=..................... | |
........................./___;...................... | |
........................./,12;...................... | |
........................./345;...................... | |
........................./678;...................... | |
........................./9A_;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... | |
........................./___;...................... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment