Created
March 24, 2025 12:42
-
-
Save increpare/037453d40db2f3b7c9c82faa2d68896b to your computer and use it in GitHub Desktop.
Pushbutton (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 Pushbutton | |
author increpare | |
homepage www.increpare.com | |
verbose_logging | |
debug | |
run_rules_on_level_start | |
noaction | |
======== | |
OBJECTS | |
======== | |
Background_Real | |
lightgray gray | |
00000 | |
00000 | |
00100 | |
00000 | |
00000 | |
Target | |
darkblue | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Wall | |
darkblue darkgreen | |
00000 | |
01110 | |
01010 | |
01110 | |
00000 | |
Player | |
yellow brown darkred darkbrown | |
.000. | |
.111. | |
22222 | |
.222. | |
.3.3. | |
Crate | |
orange | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
Background_Virtual | |
white gray | |
00000 | |
00000 | |
00100 | |
00000 | |
00000 | |
Target_Virtual | |
#00ffff | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Wall_virtual | |
#AA5500 #AA0000 | |
00000 | |
01110 | |
01010 | |
01110 | |
00000 | |
Player_Virtual | |
#000000 #ffff00 #0000ff #000000 | |
.000. | |
.111. | |
22222 | |
.222. | |
.3.3. | |
Crate_virtual | |
#FF55FF | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
Cursor | |
white | |
0...0 | |
..... | |
..... | |
..... | |
0...0 | |
ButtonUp | |
transparent yellow red | |
00100 | |
01110 | |
00000 | |
00000 | |
00000 | |
ButtonDown | |
transparent yellow red | |
00000 | |
00000 | |
00000 | |
01110 | |
00100 | |
ButtonLeft | |
transparent yellow red | |
00000 | |
01000 | |
11000 | |
01000 | |
00000 | |
ButtonRight | |
transparent yellow red | |
00000 | |
00010 | |
00011 | |
00010 | |
00000 | |
old_player_pos | |
red | |
======= | |
LEGEND | |
======= | |
button = ButtonUp or ButtonDown or ButtonLeft or ButtonRight | |
background = Background_Real or Background_Virtual | |
anyPlayer = Player or Player_Virtual | |
anyTarget = Target or Target_Virtual | |
anyCrate = Crate or Crate_virtual | |
anywall = wall or Wall_virtual | |
obstacle = anywall or anycrate | |
. = Background_Real | |
# = Background_Real and Wall | |
P = Background_Real and Player | |
* = Background_Real and Crate | |
@ = Background_Real and Crate and Target | |
O = Background_Real and Target | |
u = Background_Real and ButtonUp | |
d = Background_Real and ButtonDown | |
l = Background_Real and ButtonLeft | |
r = Background_Real and ButtonRight | |
z = Background_Virtual | |
x = Background_Virtual and Wall_virtual | |
c = Background_Virtual and Player_Virtual | |
v = Background_Virtual and Crate_virtual | |
b = Background_Virtual and Crate_virtual and Target_Virtual | |
n = Background_Virtual and Target_Virtual | |
======= | |
SOUNDS | |
======= | |
Crate move 36772507 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background_Real, Background_Virtual | |
button, Target, Target_Virtual | |
anyCrate, anyPlayer, anywall | |
Cursor | |
old_player_pos | |
====== | |
RULES | |
====== | |
[ moving player ] -> again | |
[ stationary player ButtonUp ] [ Player_Virtual ] -> [ player ButtonUp ] [ up Player_Virtual ] | |
[ stationary player ButtonDown ] [ Player_Virtual ] -> [ player ButtonDown ] [ down Player_Virtual ] | |
[ stationary player ButtonLeft ] [ Player_Virtual ] -> [ player ButtonLeft ] [ left Player_Virtual ] | |
[ stationary player ButtonRight ] [ Player_Virtual ] -> [ player ButtonRight ] [ right Player_Virtual ] | |
[ > anyPlayer | anyCrate ] -> [ > anyPlayer | > anyCrate ] | |
============== | |
WINCONDITIONS | |
============== | |
all anyTarget on anyCrate | |
======= | |
LEVELS | |
======= | |
####.. | |
#.O#.. | |
#..### | |
#@P..# | |
#..*.# | |
#..### | |
####.. | |
xxxxxx | |
xznxxx | |
xzzxxx | |
xbczzx | |
xzzvzx | |
xzzxxx | |
xxxxxx | |
###### | |
#....# | |
#.u..# | |
#l.rp# | |
#.d..# | |
#....# | |
###### | |
xxxxxx | |
xznxxx | |
xzzxxx | |
xbczzx | |
xzzvzx | |
xzzxxx | |
xxxxxx | |
###### | |
#.up## | |
#ldr## | |
###### | |
(if your player can't move, then the buttons become solid and pressable) | |
xxxxxxxxxxx | |
xzzzzzzzzzx | |
xzzzzzzzzzx | |
xzznzvzczzx | |
xzzzzzzzzzx | |
xzzzzzzzzzx | |
xxxxxxxxxxx | |
########### | |
#.........# | |
#..u......# | |
#.l.r.p...# | |
#..d......# | |
#.........# | |
########### |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment