Created
December 27, 2025 18:29
-
-
Save Stingby12/2d8fb119f6a9941a4aa4ce7df643e1c1 to your computer and use it in GitHub Desktop.
Monkey Sand Castles (PuzzleScript Script)
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
| title Monkey Sand Castles | |
| author Stingby12 | |
| homepage www.puzzlescript.net | |
| color_palette 5 | |
| run_rules_on_level_start | |
| background_color darkblue | |
| ( | |
| verbose_logging | |
| ) | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| yellow lightbrown | |
| 00000 | |
| 01000 | |
| 00000 | |
| 00010 | |
| 00000 | |
| Target | |
| darkblue darkgreen | |
| ..... | |
| .000. | |
| .010. | |
| .000. | |
| ..... | |
| Water | |
| blue lightblue | |
| 00000 | |
| 01000 | |
| 01000 | |
| 00010 | |
| 00010 | |
| Rock | |
| lightgray gray white | |
| 00001 | |
| 02001 | |
| 00021 | |
| 20001 | |
| 11111 | |
| Player | |
| brown lightbrown darkbrown | |
| .000. | |
| .010. | |
| 00200 | |
| .222. | |
| .0.0. | |
| Crate | |
| green | |
| 00000 | |
| 0...0 | |
| 0...0 | |
| 0...0 | |
| 00000 | |
| LongCrateU | |
| red | |
| 0...0 | |
| 0...0 | |
| 0...0 | |
| 0...0 | |
| 00000 | |
| LongCrateD | |
| red | |
| 00000 | |
| 0...0 | |
| 0...0 | |
| 0...0 | |
| 0...0 | |
| LongCrateL | |
| red | |
| 00000 | |
| ....0 | |
| ....0 | |
| ....0 | |
| 00000 | |
| LongCrateR | |
| red | |
| 00000 | |
| 0.... | |
| 0.... | |
| 0.... | |
| 00000 | |
| CrateSd | |
| darkbrown orange | |
| 11111 | |
| 11101 | |
| 11111 | |
| 10111 | |
| 11111 | |
| CrateSdU | |
| darkgreen | |
| 00000 | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| CrateSdD | |
| darkgreen | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| 00000 | |
| CrateSdL | |
| darkgreen | |
| 0.... | |
| 0.... | |
| 0.... | |
| 0.... | |
| 0.... | |
| CrateSdR | |
| darkgreen | |
| ....0 | |
| ....0 | |
| ....0 | |
| ....0 | |
| ....0 | |
| CrateSdUL | |
| darkgreen | |
| 00... | |
| 00... | |
| ..... | |
| ..... | |
| ..... | |
| CrateSdDL | |
| darkgreen | |
| ..... | |
| ..... | |
| ..... | |
| 00... | |
| 00... | |
| CrateSdUR | |
| darkgreen | |
| ...00 | |
| ...00 | |
| ..... | |
| ..... | |
| ..... | |
| CrateSdDR | |
| darkgreen | |
| ..... | |
| ..... | |
| ..... | |
| ...00 | |
| ...00 | |
| Rough | |
| darkgray | |
| RoughA | |
| darkgray gray gray | |
| 01002 | |
| 11022 | |
| 00000 | |
| 02001 | |
| 22011 | |
| RoughB | |
| darkgray gray gray | |
| 02001 | |
| 22011 | |
| 00000 | |
| 01020 | |
| 11220 | |
| RoughC | |
| darkgray gray gray | |
| 01020 | |
| 11220 | |
| 00000 | |
| 01020 | |
| 11220 | |
| RoughD | |
| darkgray gray gray | |
| 00010 | |
| 02110 | |
| 22000 | |
| 01020 | |
| 11220 | |
| RoughE | |
| darkgray gray gray | |
| 00000 | |
| 01020 | |
| 11220 | |
| 02010 | |
| 22110 | |
| RoughF | |
| darkgray gray gray | |
| 00000 | |
| 00201 | |
| 02211 | |
| 01020 | |
| 11220 | |
| RoughG | |
| darkgray gray gray | |
| 00201 | |
| 02211 | |
| 00000 | |
| 02010 | |
| 22110 | |
| RoughH | |
| darkgray gray gray | |
| 00101 | |
| 01111 | |
| 00000 | |
| 02002 | |
| 22022 | |
| ======= | |
| LEGEND | |
| ======= | |
| . = Background | |
| % = Rough | |
| # = Water | |
| § = Rock | |
| P = Player | |
| $ = Player and Target | |
| * = Crate | |
| ^ = LongCrateU | |
| v = LongCrateD | |
| < = LongCrateL | |
| > = LongCrateR | |
| @ = Crate and Target | |
| U = LongCrateU and Target | |
| D = LongCrateD and Target | |
| L = LongCrateL and Target | |
| R = LongCrateR and Target | |
| O = Target | |
| CrateSdULA = CrateSdU or CrateSdL | |
| CrateSdDLA = CrateSdD or CrateSdL | |
| CrateSdURA = CrateSdU or CrateSdR | |
| CrateSdDRA = CrateSdD or CrateSdR | |
| CrateSdBr = CrateSdU or CrateSdD or CrateSdL or CrateSdR or CrateSdUL or CrateSdDL or CrateSdUR or CrateSdDR | |
| RoughDec = RoughA or RoughB or RoughC or RoughD or RoughE or RoughF or RoughG or RoughH | |
| LongCrate = LongCrateU or LongCrateD or LongCrateL or LongCrateR | |
| Crates = Crate or LongCrate | |
| ======= | |
| SOUNDS | |
| ======= | |
| startgame 99500108 | |
| endgame 6795308 | |
| startlevel 64229108 | |
| endlevel 36511508 | |
| Crates move 36772507 | |
| CrateSd move 64132307 | |
| CrateSd create 90053708 | |
| sfx0 92929504 | |
| sfx1 30706904 | |
| restart 3740902 | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Rough | |
| roughdec | |
| Player, Water, Rock, Crate, LongCrate, CrateSd | |
| CrateSdU | |
| CrateSdD | |
| CrateSdL | |
| CrateSdR | |
| CrateSdUL | |
| CrateSdDL | |
| CrateSdUR | |
| CrateSdDR | |
| Target | |
| ====== | |
| RULES | |
| ====== | |
| [ Rough no RoughDec ] -> [ Rough random RoughDec ] checkpoint | |
| [ > Player | Crate ] -> [ > Player | > Crate ] | |
| [ > Player | LongCrate ] -> [ > Player | > LongCrate ] | |
| startloop | |
| up [ moving LongCrateU | LongCrateD ] -> [ moving LongCrateU | moving LongCrateD ] | |
| down [ moving LongCrateD | LongCrateU ] -> [ moving LongCrateD | moving LongCrateU ] | |
| left [ moving LongCrateL | LongCrateR ] -> [ moving LongCrateL | moving LongCrateR ] | |
| right [ moving LongCrateR | LongCrateL ] -> [ moving LongCrateR | moving LongCrateL ] | |
| endloop | |
| [ > LongCrate | Water ] -> cancel sfx1 | |
| [ > LongCrate | stationary Crates ] -> cancel sfx1 | |
| [ > LongCrate | CrateSd ] -> cancel sfx1 | |
| [ > LongCrate | Rock ] -> cancel sfx1 | |
| [ > Player | Rough ] -> [ Player | Rough ] sfx0 | |
| [ > Crates | Rough ] -> [ Crates | Rough ] sfx0 | |
| [ > Player | CrateSd ] -> [ > Player | > CrateSd ] | |
| startloop | |
| up [ moving CrateSd no CrateSdU | CrateSd no CrateSdD ] -> [ moving CrateSd | moving CrateSd ] | |
| down [ moving CrateSd no CrateSdD | CrateSd no CrateSdU ] -> [ moving CrateSd | moving CrateSd ] | |
| left [ moving CrateSd no CrateSdL | CrateSd no CrateSdR ] -> [ moving CrateSd | moving CrateSd ] | |
| right [ moving CrateSd no CrateSdR | CrateSd no CrateSdL ] -> [ moving CrateSd | moving CrateSd ] | |
| endloop | |
| [ > CrateSd | Water ] -> cancel sfx1 | |
| [ > CrateSd | Crates ] -> cancel sfx1 | |
| [ > CrateSd | Rock ] -> cancel sfx1 | |
| up [ > CrateSd CrateSdU | CrateSd ] -> cancel sfx1 | |
| down [ > CrateSd CrateSdD | CrateSd ] -> cancel sfx1 | |
| left [ > CrateSd CrateSdL | CrateSd ] -> cancel sfx1 | |
| right [ > CrateSd CrateSdR | CrateSd ] -> cancel sfx1 | |
| [ moving CrateSd CrateSdBr ] -> [ moving CrateSd moving CrateSdBr ] | |
| late [ Crates | Water ] -> [ CrateSd | Water ] | |
| late [ Crates | CrateSd no CrateSdBr ] -> [ CrateSd | CrateSd ] | |
| late up [ CrateSd no CrateSdU | no CrateSd ] -> [ CrateSd CrateSdU | ] | |
| late down [ CrateSd no CrateSdD | no CrateSd ] -> [ CrateSd CrateSdD | ] | |
| late left [ CrateSd no CrateSdL | no CrateSd ] -> [ CrateSd CrateSdL | ] | |
| late right [ CrateSd no CrateSdR | no CrateSd ] -> [ CrateSd CrateSdR | ] | |
| late up [ CrateSd no CrateSdU | CrateSd CrateSdD ] -> [ CrateSd CrateSdU | CrateSd CrateSdD ] | |
| late down [ CrateSd no CrateSdD | CrateSd CrateSdU ] -> [ CrateSd CrateSdD | CrateSd CrateSdU ] | |
| late left [ CrateSd no CrateSdL | CrateSd CrateSdR ] -> [ CrateSd CrateSdL | CrateSd CrateSdR ] | |
| late right [ CrateSd no CrateSdR | CrateSd CrateSdL ] -> [ CrateSd CrateSdR | CrateSd CrateSdL ] | |
| late up [ CrateSd no CrateSdULA no CrateSdUL | CrateSd CrateSdL no CrateSdD ] -> [ CrateSd CrateSdUL | CrateSd CrateSdL ] | |
| late down [ CrateSd no CrateSdDLA no CrateSdDL | CrateSd CrateSdL no CrateSdU ] -> [ CrateSd CrateSdDL | CrateSd CrateSdL ] | |
| late up [ CrateSd no CrateSdURA no CrateSdUR | CrateSd CrateSdR no CrateSdD ] -> [ CrateSd CrateSdUR | CrateSd CrateSdR ] | |
| late down [ CrateSd no CrateSdDRA no CrateSdDR | CrateSd CrateSdR no CrateSdU ] -> [ CrateSd CrateSdDR | CrateSd CrateSdR ] | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| all Target on CrateSd | |
| ======= | |
| LEVELS | |
| ======= | |
| message Sand buckets turns solid when put near water. | |
| message Level 1 / 7 | |
| ######### | |
| #.......# | |
| #...#...# | |
| #.......# | |
| #.@.p.@.# | |
| #.......# | |
| ######### | |
| message Level 2 / 7 | |
| ######### | |
| ###.o.### | |
| ###%%%### | |
| ###%%%### | |
| #.......# | |
| #.*.*.*.# | |
| #.......# | |
| #...p...# | |
| #.......# | |
| #..###..# | |
| ######### | |
| message Level 3 / 7 | |
| ########### | |
| #§§§§§§§§§# | |
| #§.......§# | |
| #§.§*.*§.§# | |
| #§.*.*.*.§# | |
| #§.......§# | |
| #§.#...#.§# | |
| #§.......§# | |
| #....p....# | |
| #.........# | |
| #§%%%§%%%§# | |
| #§..ooo..§# | |
| #§§§§§§§§§# | |
| ########### | |
| message Level 4 / 7 | |
| #####§§### | |
| #...§§§§%# | |
| #....o§§§# | |
| #.vv.o.§§§ | |
| #.^^.§oo§§ | |
| #.......§# | |
| #..p.><..# | |
| §§...><..# | |
| §§§......# | |
| #§§####### | |
| message Level 5 / 7 | |
| ####### | |
| #.....# | |
| #.v>l.# | |
| #.^$v.# | |
| #.r<^.# | |
| #.....# | |
| ####### | |
| message Level 6 / 7 | |
| ################# | |
| #.........####### | |
| #.vv......####### | |
| #.^^...*.%%%§§§§# | |
| #....p...%%%%%%o# | |
| #.><...*.%%%§§§§# | |
| #.><......####### | |
| #.........####### | |
| ################# | |
| message Level 7 / 7 | |
| ################# | |
| ##%%%%%%%%%%%%%## | |
| #%%%%%%%........# | |
| #%%%%%%%.*...vv.# | |
| #.%%§%%%.*...^^.# | |
| #o%§§§%%...p....# | |
| #.%%§%%%.*...><.# | |
| #%%%%%%%.*...><.# | |
| #%%%%%%%........# | |
| ##%%%%%%%%%%%%%## | |
| ################# | |
| message You did it ! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment