Skip to content

Instantly share code, notes, and snippets.

@nvh
Created December 17, 2023 14:26
Show Gist options
  • Save nvh/7a3f3d2792dec2d960450875ef17e18f to your computer and use it in GitHub Desktop.
Save nvh/7a3f3d2792dec2d960450875ef17e18f to your computer and use it in GitHub Desktop.
Pusher (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Pusher
author Niels & Ruud
homepage www.puzzlescript.net
( verbose_logging )
========
OBJECTS
========
Background
lightgray
Target
yellow orange
1...1
.000.
.010.
.000.
1...1
Wall
darkgreen
Player
red purple darkblue lightblue darkred
.111.
12221
13231
.222.
04.44
Crate
lightbrown brown darkbrown
11111
12221
12.11
12111
11111
Button
blue lightblue purple
.000.
01112
01112
01112
.222.
Pusher
lightgray gray darkgray darkblue
.....
.333.
.333.
.333.
.....
( Rail )
( lightgray gray )
( 00100 )
( 00100 )
( 11111 )
( 00100 )
( 00100 )
HorizontalRail
lightgray gray
00000
00000
11111
00000
00000
VerticalRail
lightgray gray
00100
00100
00100
00100
00100
HorizontalPushSource
lightgray gray
00000
00000
11111
00000
00000
VerticalPushSource
lightgray gray
00100
00100
00100
00100
00100
ButtonTarget
darkgray darkgreen
10001
00000
00000
00000
10001
ButtonSource
lightgray
=======
LEGEND
=======
Rail = HorizontalRail or VerticalRail
PushSource = HorizontalPushSource or VerticalPushSource
. = Background
# = Wall
P = Player
* = Crate
@ = Crate and Target
O = Target
B = Button
& = Pusher
- = HorizontalRail
/ = VerticalRail
C = Crate and HorizontalRail
Y = Pusher and VerticalPushSource
% = Pusher and HorizontalPushSource
1 = VerticalPushSource
_ = HorizontalPushSource
T = ButtonTarget
S = ButtonSource
$ = Button and ButtonSource
Weight = Crate or Player or Wall or Pusher
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Target, Rail, PushSource, ButtonTarget, ButtonSource
Player, Wall, Crate, Pusher, Button
======
RULES
======
[ > Player | Crate ] -> [ > Player | > Crate ]
[ > Crate | Button | ButtonTarget ] -> [ > Crate | > Button | ButtonTarget ]
[ > Player | Button | ButtonTarget ] -> [ > Player | > Button | ButtonTarget ]
[ PushSource Pusher | Rail | ... | > Button | ButtonTarget ] -> [ PushSource > Pusher | Rail | ... | > Button | ButtonTarget ]
[ > Pusher | Crate ] -> [ > Pusher | > Crate ]
[ > Pusher | Crate | Crate ] -> [ > Pusher | > Crate | > Crate ]
[ > Pusher | Crate | Crate | Crate ] -> [ > Pusher | > Crate | > Crate | > Crate ]
[ > Pusher | Crate | Crate | Crate | Crate ] -> [ > Pusher | > Crate | > Crate | > Crate | > Crate ]
[ > Pusher | Crate | Crate | Crate | Crate | Crate] -> [ > Pusher | > Crate | > Crate | > Crate | > Crate | > Crate ]
late [ ButtonSource NO Weight | Button ButtonTarget ] -> [ ButtonSource Button | ButtonTarget ]
late [ PushSource | Pusher Rail | ... | ButtonTarget NO Button ] -> [ PushSource Pusher | Rail | ... | ButtonTarget NO Button ]
==============
WINCONDITIONS
==============
all Target on Crate
=======
LEVELS
=======
.####.....
.#..#.....
.#*.#.....
##..######
#.....#..#
T$.P-%..*#
#O....#.O#
##########
..####%#
###.../#
T$..*O-%
####P###
...#...#
...###$#
......T.
.....#######
.....#.....#
######.###.#
#.....*..#.#
T$*O-%.OP#.#
#O..*....#.#
##.#.#####.#
.#.........#
.###########
.##Y#####
.#./....#
.#..%C.$T
.#..#..O#
.#..##.##
#T$*P-%#.
#..*##.#.
#O.$...#.
##OT...#.
.#######.
######.
#....#.
#**..#.
#.#*.#.
#.#.##.
#.#..#.
#.##.#.
#....##
#..#.P#
%-@@.$T
####O#.
...#O#.
...#O#.
...###.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment