Skip to content

Instantly share code, notes, and snippets.

@chz16
Last active October 18, 2023 00:30
Show Gist options
  • Save chz16/21f0a4818c539dae0cfd861b89b70dc2 to your computer and use it in GitHub Desktop.
Save chz16/21f0a4818c539dae0cfd861b89b70dc2 to your computer and use it in GitHub Desktop.
Happy 10th birthday, PuzzleScript! code
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
(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