Last active
October 18, 2023 00:30
-
-
Save chz16/21f0a4818c539dae0cfd861b89b70dc2 to your computer and use it in GitHub Desktop.
Happy 10th birthday, PuzzleScript! code
This file contains hidden or 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 hidden or 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
(version 1.0.0 | |
1.0.0 [2023-10-06]: original release | |
) | |
title Happy 10th birthday, PuzzleScript! | |
author CHz | |
homepage quiteajolt.com | |
run_rules_on_level_start | |
again_interval 0.06 | |
======== | |
OBJECTS | |
======== | |
Background | |
lightgreen green | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
Player | |
black orange white blue | |
.000. | |
.111. | |
22222 | |
.333. | |
.3.3. | |
NoCrates | |
transparent | |
Crate0 | |
black | |
Crate1 | |
orange | |
Crate2 | |
white | |
Crate3 | |
blue | |
Target | |
#444444 | |
0...0 | |
..... | |
..... | |
..... | |
0...0 | |
TargetUp | |
#444444 | |
00000 | |
..... | |
..... | |
..... | |
..... | |
TargetDown | |
#444444 | |
..... | |
..... | |
..... | |
..... | |
00000 | |
TargetLeft | |
#444444 | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
TargetRight | |
#444444 | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
ForegroundTarget | |
#444444 | |
0...0 | |
..... | |
..... | |
..... | |
0...0 | |
ForegroundTargetUp | |
#444444 | |
00000 | |
..... | |
..... | |
..... | |
..... | |
ForegroundTargetDown | |
#444444 | |
..... | |
..... | |
..... | |
..... | |
00000 | |
ForegroundTargetLeft | |
#444444 | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
ForegroundTargetRight | |
#444444 | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
Shade | |
#444444 | |
( from Basic template) | |
Object1 | |
black orange white blue | |
.000. | |
.111. | |
22222 | |
.333. | |
.3.3. | |
Object2 | |
darkblue | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Object3 | |
brown darkbrown | |
00010 | |
11111 | |
01000 | |
11111 | |
00010 | |
Object4 | |
orange | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
(from What Gophers Go For https://what-gophers-go-for.github.io/) | |
Object5 | |
brown white black | |
02020 | |
00000 | |
1.1.0 | |
....0 | |
00000 | |
Object6 | |
blue #202080 | |
.000. | |
01010 | |
01010 | |
00000 | |
.000. | |
Object7 | |
#C7E23C #B9C42D #A9A722 #978B18 | |
.323. | |
32123 | |
21012 | |
32123 | |
.323. | |
Object8 | |
#7bbf4b #5a992c #6cc42d | |
..1.. | |
.101. | |
10201 | |
.101. | |
..1.. | |
(from Dr Jelly and Mr Slime https://thinkycollective.itch.io/dr-jelly-and-mr-slime) | |
Object9 | |
#f748e3 #a200ff #f754e5 #f23fde | |
.2... | |
2100. | |
20003 | |
0103. | |
.3... | |
Object10 | |
#ea78d6 #e440c7 #ae1e95 #7f7f7f #1b1b1b #db7838 #9c3d00 | |
.56.. | |
.34.. | |
1012. | |
0102. | |
1212. | |
Object11 | |
#97d745 #8dcd3c | |
10101 | |
00000 | |
10001 | |
00000 | |
10101 | |
Object12 | |
#ffe642 #f8c032 #f8aa32 | |
..... | |
.011. | |
.102. | |
.222. | |
..... | |
(from Indiana Hat and the Temple of Puzz https://thinkycollective.itch.io/indiana-hat-and-the-temple-of-puzz) | |
Object13 | |
#d1965f #b87d46 #834f23 #452f28 | |
.000. | |
11111 | |
.233. | |
.003. | |
.00.. | |
Object14 | |
#7e451e #653514 | |
11111 | |
11001 | |
10101 | |
10011 | |
11111 | |
Object15 | |
#ff5c72 #ff8aa1 #fff12b #d94e4e #ffd630 | |
.010. | |
.232. | |
2...2 | |
4...2 | |
.424. | |
Object16 | |
#945a32 #814b27 #794624 #30251d #251c16 #151410 #1c1712 #28231d #261f19 | |
.222. | |
15552 | |
06762 | |
04842 | |
03332 | |
(from Ahoist Cratey https://thinkycollective.itch.io/ahoist-cratey) | |
Object17 | |
yellow orange white | |
.101. | |
00200 | |
12221 | |
00200 | |
.101. | |
Object18 | |
blue #29d #3bf | |
.000. | |
00100 | |
01210 | |
00100 | |
00000 | |
Object19 | |
orange brown lightbrown darkbrown | |
11111 | |
12003 | |
10203 | |
10023 | |
11113 | |
Object20 | |
darkgray white grey | |
22022 | |
2...2 | |
2...2 | |
20002 | |
22222 | |
(from Conveyor Con-fusion https://thinkycollective.itch.io/conveyor-confusion) | |
Object21 | |
#29b4d0 #1987b3 #25a4be | |
01000 | |
01100 | |
01110 | |
01100 | |
01000 | |
Object22 | |
#925f3e #6e452a #5d3820 | |
00000 | |
11111 | |
11111 | |
11111 | |
..2.. | |
Object23 | |
#d7d721 #da7f2d #adacac #1a4fe1 #d30c0c #000000 | |
.000. | |
.000. | |
.111. | |
.333. | |
.444. | |
Object24 | |
#894f21 #a56029 | |
1...1 | |
00000 | |
0...0 | |
00000 | |
1...1 | |
(from Lab Rat-ional Thinking https://thinkycollective.itch.io/lab-rational-thinking) | |
Object25 | |
#E83A27 #B43A27 | |
.000. | |
00000 | |
00100 | |
00000 | |
10001 | |
Object26 | |
darkgray black #333 | |
00000 | |
12121 | |
21212 | |
12121 | |
21212 | |
Object27 | |
#eb8931 #CE6529 #e08c41 | |
.000. | |
.010. | |
.000. | |
.111. | |
.111. | |
Object28 | |
#8827CE #A297E2 pink #BB3388 #222222 | |
.22.. | |
21114 | |
22111 | |
31114 | |
.0000 | |
(from Flying Crowbar Factory Simulator 2022 https://thinkycollective.itch.io/flying-crowbar-factory-simulator-2022) | |
Object29 | |
#808080 #C00 | |
.00.. | |
..1.. | |
..1.. | |
..1.. | |
..1.. | |
Object30 | |
#d6d6d6 #cc6600 #e67300 #ff8000 #ff8c1a | |
.000. | |
02230 | |
02320 | |
03220 | |
.000. | |
Object31 | |
#663300 #994d00 #331a00 #804000 | |
13331 | |
30023 | |
30203 | |
32003 | |
13331 | |
Object32 | |
yellow | |
.000. | |
0...0 | |
..00. | |
..... | |
..0.. | |
(from Blast One Standing https://thinkycollective.itch.io/blast-one-standing) | |
Object33 | |
#590099 #9500ff | |
00.00 | |
01110 | |
.101. | |
01110 | |
00.00 | |
Object34 | |
#e62e6b #ea9eDb | |
..1.. | |
.111. | |
11011 | |
.111. | |
..1.. | |
Object35 | |
#60bF45 #90eF75 | |
1.1.1 | |
.111. | |
11011 | |
.111. | |
1.1.1 | |
Object36 | |
#aee7f6 #2ec7e6 | |
.000. | |
01110 | |
01110 | |
01110 | |
.000. | |
CheckWin | |
transparent | |
AddForeground | |
transparent | |
RemoveForeground | |
transparent | |
Corner | |
transparent | |
NewSpread | |
transparent | |
SpreadWin | |
transparent | |
SpreadChange | |
transparent | |
SpreadNothing | |
transparent | |
CheckSpread | |
transparent | |
Generate | |
transparent | |
======= | |
LEGEND | |
======= | |
. = Background and NoCrates | |
P = Player and Generate and NoCrates | |
0 = Crate0 | |
A = Crate0 and Target | |
1 = Crate1 | |
B = Crate1 and Target | |
2 = Crate2 | |
C = Crate2 and Target | |
3 = Crate3 | |
D = Crate3 and Target | |
Crate = Crate0 or Crate1 or Crate2 or Crate3 | |
O = Target | |
X = Corner | |
Object = Object1 or Object2 or Object3 or Object4 or Object5 or Object6 or Object7 or Object8 or Object9 or Object10 or Object11 or Object12 or Object13 or Object14 or Object15 or Object16 or Object17 or Object18 or Object19 or Object20 or Object21 or Object22 or Object23 or Object24 or Object25 or Object26 or Object27 or Object28 or Object29 or Object30 or Object31 or Object32 or Object33 or Object34 or Object35 or Object36 | |
Thing = Player or Crate or Object | |
Spread = SpreadWin or SpreadChange or SpreadNothing | |
TargetPart = Target or TargetUp or TargetDown or TargetLeft or TargetRight or ForegroundTarget or ForegroundTargetUp or ForegroundTargetDown or ForegroundTargetLeft or ForegroundTargetRight | |
======= | |
SOUNDS | |
======= | |
Crate move 36772507 | |
Crate cantmove 70598904 | |
SFX0 850909 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Target | |
TargetUp | |
TargetDown | |
TargetLeft | |
TargetRight | |
Player, Crate, Object | |
NoCrates | |
Shade | |
ForegroundTarget | |
ForegroundTargetUp | |
ForegroundTargetDown | |
ForegroundTargetLeft | |
ForegroundTargetRight | |
Generate | |
CheckWin | |
AddForeground, RemoveForeground | |
NewSpread, SpreadWin, SpreadChange, SpreadNothing | |
Corner | |
CheckSpread | |
====== | |
RULES | |
====== | |
(generate target zone borders) | |
[ Generate ] [ Target ] -> [ Generate ] [ Target TargetUp TargetDown TargetLeft TargetRight ] | |
DOWN [ Generate ] [ Target | Target ] -> [ Generate ] [ Target no TargetDown | Target no TargetUp ] | |
RIGHT [ Generate ] [ Target | Target ] -> [ Generate ] [ Target no TargetRight | Target no TargetLeft ] | |
[ Generate ] -> [ ] | |
(remove foreground guides) | |
[ ACTION Player ] [ ForegroundTarget ] -> [ RemoveForeground Player ] [ ] | |
[ RemoveForeground ] [ ForegroundTarget ] -> [ RemoveForeground ] [ ] | |
[ RemoveForeground ] [ ForegroundTargetUp ] -> [ RemoveForeground ] [ ] | |
[ RemoveForeground ] [ ForegroundTargetDown ] -> [ RemoveForeground ] [ ] | |
[ RemoveForeground ] [ ForegroundTargetLeft ] -> [ RemoveForeground ] [ ] | |
[ RemoveForeground ] [ ForegroundTargetRight ] -> [ RemoveForeground ] [ ] | |
[ RemoveForeground ] -> [ ] | |
(show foreground guides) | |
[ ACTION Player ] -> [ AddForeground Player ] | |
[ AddForeground ] [ Target ] -> [ AddForeground ] [ Target ForegroundTarget ] | |
[ AddForeground ] [ TargetUp ] -> [ AddForeground ] [ TargetUp ForegroundTargetUp ] | |
[ AddForeground ] [ TargetDown ] -> [ AddForeground ] [ TargetDown ForegroundTargetDown ] | |
[ AddForeground ] [ TargetLeft ] -> [ AddForeground ] [ TargetLeft ForegroundTargetLeft ] | |
[ AddForeground ] [ TargetRight ] -> [ AddForeground ] [ TargetRight ForegroundTargetRight ] | |
[ AddForeground ] -> [ ] | |
(movement) | |
[ > Player | Crate ] -> [ > Player | > Crate ] | |
[ > Crate | Crate ] -> [ > Crate | > Crate ] | |
[ > Crate | NoCrates ] -> [ Crate | NoCrates ] | |
(spread) | |
[ Spread | no Spread ] -> [ Spread | NewSpread ] again | |
[ SpreadWin ] [ NewSpread no Target ] -> [ SpreadWin ] [ SpreadWin Shade ] | |
[ SpreadWin ] [ NewSpread ] -> [ SpreadWin ] [ SpreadWin no TargetPart ] | |
[ SpreadNothing ] [ NewSpread ] -> [ SpreadNothing ] [ SpreadNothing ] | |
[ SpreadChange ] [ NewSpread Thing ] -> [ SpreadChange ] [ SpreadChange random Object ] | |
[ SpreadChange ] [ NewSpread ] -> [ SpreadChange ] [ SpreadChange ] | |
[ NewSpread ] -> [ ] | |
(restart spread) | |
random [ Corner ] -> [ Corner CheckSpread ] | |
[ CheckSpread ] [ Corner no Spread ] -> [ ] [ Corner ] | |
[ CheckSpread ] [ Spread no CheckSpread ] -> [ CheckSpread ] [ ] | |
[ CheckSpread SpreadWin ] -> [ SpreadNothing ] | |
[ CheckSpread SpreadChange ] -> [ SpreadNothing ] | |
[ CheckSpread SpreadNothing ] -> [ SpreadChange ] | |
(win) | |
LATE [ Player ] -> [ Player CheckWin ] | |
LATE [ CheckWin ] [ Target no Player no Crate ] -> [ ] [ Target ] | |
LATE random [ CheckWin Player ] [ Corner ] -> [ Object1 ] [ Corner Shade SpreadWin ] SFX0 again | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
======= | |
message Press [X] to toggle target visibility. | |
X..P..X | |
.O0AAO. | |
.O1B1O. | |
.C2C2C. | |
.O3D3O. | |
.O3ODO. | |
X.....X |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment