Skip to content

Instantly share code, notes, and snippets.

@Stingby12
Created April 25, 2025 09:12
Show Gist options
  • Select an option

  • Save Stingby12/a44b736f1c87cb79d27a0af6ebc4b34f to your computer and use it in GitHub Desktop.

Select an option

Save Stingby12/a44b736f1c87cb79d27a0af6ebc4b34f to your computer and use it in GitHub Desktop.
Local Block Pushing Game (Puzzlescript Plus Script)
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html
title Local Block Pushing Game
author Stingby12
homepage https://auroriax.github.io/PuzzleScript/Documentation/prelude.html#local_radius
background_color #332222
local_radius 2
run_rules_on_level_start
========
OBJECTS
========
Background
LIGHTGREEN GREEN
11111
01111
11101
11111
10111
Target
DarkBlue
.....
.000.
.0.0.
.000.
.....
GlobalTarget
darkRed
.....
.0.0.
..0..
.0.0.
.....
Wall
BROWN DARKBROWN
00010
11111
01000
11111
00010
Player
Black Orange White Blue
.000.
.111.
22222
.333.
.3.3.
Crate
Orange Yellow
00000
0...0
0...0
0...0
00000
CrateTar
lightbrown Yellow
10001
0.1.0
01.10
0.1.0
10001
GlobalCrate
Red
.000.
0...0
0...0
0...0
.000.
RadiusIndicator
#ff000030
CheckX
transparent
=======
LEGEND
=======
. = Background
# = Wall
P = Player
* = Crate
+ = CrateTar
G = GlobalCrate
O = Target
¤ = GlobalTarget
@ = Crate and Target
$ = GlobalCrate and Target
% = CrateTar and Target
0 = Crate and GlobalTarget
€ = GlobalCrate and GlobalTarget
! = CrateTar and GlobalTarget
Crates = Crate or GlobalCrate or CrateTar
Targets = Target or GlobalTarget
=======
SOUNDS
=======
Crate MOVE 36772507
CrateTar MOVE 36772507
GlobalCrate MOVE 65656507
endlevel 83744503
startgame 92244503
================
COLLISIONLAYERS
================
Background
Targets
Player, Wall, Crates
RadiusIndicator
CheckX
======
RULES
======
(Clean up radius visuals from last turn, globally)
global [RadiusIndicator] -> []
global [CheckX] -> []
(Player pushes crates)
[ > Player | Crates ] -> [ > Player | > Crates ]
(Crates push crates, but only while in the player radius)
[> Crates | Crate] -> [> Crates | > Crate ]
[> Crates | CrateTar] -> [> Crates | > CrateTar ]
[> CrateTar | Target ] -> [> CrateTar | > Target ]
(Rows of global crates can push each other, even outside of the player radius)
global [> Crates | GlobalCrate] -> [> Crates | > GlobalCrate ]
global [> CrateTar | GlobalTarget ] -> [> CrateTar | > GlobalTarget ]
global [ > Targets | Wall ] -> [ Targets | Wall ]
(Create a visualization of the radius for the next turn, after player has moved)
late [Player] -> [Player RadiusIndicator]
late [RadiusIndicator | no RadiusIndicator] -> [RadiusIndicator | RadiusIndicator]
late global [ GlobalTarget Crates ] -> [ GlobalTarget Crates CheckX ]
late [ Target Crates ] -> [ Target Crates CheckX ]
==============
WINCONDITIONS
==============
All Targets on CheckX
=======
LEVELS
=======
message Welcome! - 1 of 10
####..
#.¤#..
#..###
#0p..#
#..*.#
#..###
####..
message Huh? - 2 of 10
########
#......#
#..##p.#
#..*0..#
#..¤0..#
#......#
########
message Local - 3 of 10
#############
#...........#
#.¤0000000*p#
#...........#
##########..#
.........####
message Global - 4 of 10
.....#####
######...#
#.gggg.p.#
#.¤¤¤¤...#
##########
message Out - 5 of 10
#########
#¤..¤..¤#
#.*****.#
#.*****.#
#¤**p**¤#
#.*****.#
#.*****.#
#¤..¤..¤#
#########
message Target - 6 of 10
#####.#####
#...###...#
#.*o...o*.#
####.p.####
...#...#...
...#####...
message Shove - 7 of 10
####..
#.o#..
#..###
#%p..#
#..+.#
#..###
#.##..
###...
message Back - 8 of 10
####.....####
#..#######..#
#.....o.*...#
#..p..#...###
#.....o.+...#
#..#######..#
####.....####
message Out2 - 9 of 10
#######
#....o#
#.€€€.#
#.€+€.#
#.€€€.#
#p....#
#######
message Bye! - 10 of 10
......####.
......#..#.
......#..##
......#o..#
.....@#o#.#
#######o#.#
#.p.g.+.+.#
#.#.#.#.###
#.......#@.
#########..
message Congratulations!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment