Skip to content

Instantly share code, notes, and snippets.

@bvoq
Created June 13, 2021 14:50
Show Gist options
  • Save bvoq/36e521911c98f95bc5b86ac3826dd78c to your computer and use it in GitHub Desktop.
Save bvoq/36e521911c98f95bc5b86ac3826dd78c to your computer and use it in GitHub Desktop.
Simple Block Pushing Game (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Simple Block Pushing Game
author David Skinner
homepage www.puzzlescript.net
realtime_interval 0.5
========
OBJECTS
========
Background
White Lightblue
11111
11111
11111
11111
11111
Background1
White Lightblue
11111
11111
11111
11111
11111
Background2
Lightblue Blue
11111
11111
11111
11111
11111
Background3
Blue Darkblue
11111
11111
11111
11111
11111
WaveU
blue white
....0
...00
..000
.0000
00000
WaveRU
blue white
00000
0000.
000..
00...
0....
WaveD
blue white
0....
00...
000..
0000.
00000
WaveRD
blue white
00000
.0000
..000
...00
....0
WaveRR
blue white
00000
00000
00000
00.00
0...0
(PlayerW
blue brown orange white
.3310
33311
22211
..111
00100)
PlayerWUR
blue brown orange white darkred
233.0
.2330
11111
.1410
00000
PlayerWUL
blue brown orange white Darkred
.32..
33320
11111
.1410
00000
PlayerWDL
blue brown orange white darkred
0.332
0332.
11111
0141.
00000
PlayerWDR
blue brown orange white Darkred
..23.
02333
11111
0141.
00000
Temporary
DarkBlue
.....
.000.
.0.0.
.000.
.....
Target
DarkBlue
.....
.000.
.0.0.
.000.
.....
Wall
BROWN DARKBROWN
00010
11111
01000
11111
00010
Player
Green
.....
.....
..0..
.....
.....
PlayerR
Brown Orange White Darkred
..12.
..122
..122
00000
.030.
PlayerL
Brown Orange White Darkred
.21..
221..
221..
00000
.030.
PlayerA
Brown Orange White Darkred darkgray
..3..
..4..
..3..
.....
.....
PlayerB
Brown Orange White Darkred darkgray
..3..
..4..
..3..
..4..
..3..
FishA
yellow
.....
.0.0.
000..
.0.0.
.....
FishDead
gray
.....
.0.0.
000..
.0.0.
.....
FishC
gray
.....
.0.0.
000..
.0.0.
.....
PlayerTL
Brown White
....0
...00
.0000
00000
00001
PlayerTR
Brown White
0....
00...
0000.
00000
10000
PlayerBL
Brown White
00001
00000
00000
00000
00000
PlayerBR
Brown White
10000
00000
00000
00000
00000
Vortex
Blue Lightblue blue darkblue
11100
10010
10010
10110
10000
Crate
Orange Yellow
00000
0...0
0...0
0...0
00000
=======
LEGEND
=======
, = Background1
. = Background2
: = Background3
# = Wall
/ = WaveU
% = WaveRU
\ = WaveD
` = WaveRD
y = WaveRR
{ = PlayerWUL
} = PlayerWUR
1 = PlayerTL
2 = PlayerTR
3 = PlayerBL
4 = PlayerBR
P = Player and PlayerR
* = Crate
@ = Vortex
o = FishA and Background3
x = FishDead and Background3
Fish = FishA or FishDead
PlayerBoat = PlayerL or PlayerR or PlayerWUR or PlayerWUL or PlayerWDL or PlayerWDR
PlayerBait = PlayerA or PlayerB
Waves = WaveU or WaveD or WaveRU or WaveRD or WaveRR
WavesT = WaveU or WaveD
=======
SOUNDS
=======
Crate MOVE 36772507
================
COLLISIONLAYERS
================
Background,
Background1, Background2,
Temporary,
Background3,WaveU,WaveD,WaveRU,WaveRD,WaveRR,
FishA,FishDead,FishC
Target, Vortex
Player
PlayerL, PlayerR, PlayerA, PlayerB Wall, Crate, PlayerWUL, PlayerWUR, PlayerWDL,PlayerWDR
PlayerTL, PlayerTR, PlayerBL, PlayerBR
======
RULES
======
[up Player PlayerBoat] -> [Player PlayerBoat]
vertical [horizontal Player PlayerBait] -> [horizontal Player horizontal PlayerBait]
vertical [horizontal Player PlayerBait | PlayerBait] -> [horizontal Player horizontal PlayerBait | horizontal PlayerBait]
vertical [horizontal PlayerBait | PlayerBait] -> [horizontal PlayerBait | horizontal PlayerBait]
vertical [horizontal PlayerBait | PlayerBait] -> [horizontal PlayerBait | horizontal PlayerBait]
vertical [horizontal PlayerBait | PlayerBoat no Waves] -> [horizontal PlayerBait horizontal Temporary | horizontal PlayerBoat]
vertical [horizontal Player Fish] -> [horizontal Player horizontal Fish]
horizontal [> PlayerBait > Temporary | WavesT] -> [ stationary PlayerBait no Temporary | WavesT]
horizontal [> PlayerBait > Temporary | Background1 no Waves no Background2] -> [ stationary PlayerBait no Temporary | Background1]
[Temporary] -> [no Temporary]
[> PlayerBoat | Waves] -> [PlayerBoat | Waves]
vertical [stationary PlayerBait | PlayerBoat] -> [stationary PlayerBait | stationary PlayerBoat]
[Player > PlayerBoat] -> [ stationary PlayerBoat > Player]
vertical [stationary PlayerBoat | horizontal PlayerBait ] -> [stationary PlayerBoat | stationary PlayerBait ]
vertical [stationary PlayerBait | horizontal PlayerBait ] -> [stationary PlayerBait | stationary PlayerBait ]
vertical [stationary PlayerBait horizontal Player] -> [stationary PlayerBait stationary Player]
vertical [stationary Player Fish] -> [stationary Player stationary Fish]
right [ > Player PlayerBoat | WaveU ] -> [ | Player PlayerWUR WaveU]
left [ > Player PlayerBoat | WaveU ] -> [ | Player PlayerWUL WaveU]
right [ > Player PlayerBoat | WaveD ] -> [ | Player PlayerWDR WaveD]
left [ > Player PlayerBoat | WaveD ] -> [ | Player PlayerWDL WaveD]
right [ > Player PlayerBoat |] -> [ | Player PlayerR]
left [> Player PlayerBoat |] -> [ | Player PlayerL]
(
down [> Player FishA] -> [Player FishA]
down [> Player FishDead] -> [Player FishDead]
)
(unhook)
down [> Player PlayerBait Fish | ] -> [PlayerB Fish | Player PlayerA]
down [> Player PlayerL | ] -> [ PlayerL | Player PlayerA]
down [> Player PlayerR | ] -> [ PlayerR | Player PlayerA]
down [> Player PlayerB | ] -> [ PlayerB | Player PlayerA]
down [> Player PlayerA] -> [ Player PlayerB]
up [> Player PlayerA Fish | PlayerB] -> [ | Fish Player PlayerB]
up [> Player PlayerA Fish | PlayerBoat] -> [ | Fish Player PlayerBoat]
up [> Player PlayerB Fish ] -> [Fish Player PlayerA]
up [> Player PlayerA | PlayerB] -> [ | Player PlayerB]
up [> Player PlayerA | PlayerBoat] -> [ | Player PlayerBoat]
up [> Player PlayerB] -> [Player PlayerA]
(
up [> Player PlayerA | PlayerB] -> [ | Player PlayerB]
up [> Player PlayerA | PlayerBoat] -> [ | Player PlayerBoat]
up [> Player PlayerB] -> [Player PlayerA])
up [Player PlayerL Background2| WaveU] -> [Background2 | Player PlayerWUL WaveU]
up [Player PlayerR Background2| WaveU] -> [Background2 | Player PlayerWUR WaveU]
up [Player PlayerL Background2| WaveD] -> [Background2 | Player PlayerWDL WaveD]
up [Player PlayerR Background2| WaveD] -> [Background2 | Player PlayerWDR WaveD]
up [Player PlayerL Background2| ] -> [Background2 | Player PlayerL]
up [Player PlayerR Background2| ] -> [Background2 | Player PlayerR]
down [Player PlayerBoat Background1| Background1] -> [Background1 | Player PlayerBoat Background1]
down [Player PlayerL Background1| WaveU] -> [Background1 | WaveU Player PlayerWUL]
down [Player PlayerR Background1| WaveU] -> [Background1 | WaveU Player PlayerWUR]
down [Player PlayerL Background1| WaveD] -> [Background1 | WaveD Player PlayerWDL]
down [Player PlayerR Background1| WaveD] -> [Background1 | WaveD Player PlayerWDR]
[FishC No PlayerBait No PlayerBoat ] [PlayerBoat] -> [][PlayerBoat FishC]
[down Player Waves] -> [stationary Player Waves]
down [FishDead Background1 No PlayerBait | ] -> [Background1 | FishDead]
late [FishA PlayerBoat] -> [PlayerBoat]
late [FishDead PlayerBoat] -> [PlayerBoat FishC]
late [FishA Background1] -> [FishDead Background1]
==============
WINCONDITIONS
==============
All FishA on PlayerL
No FishDead
No FishC
=======
LEVELS
=======
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,P,,,/..\,,,,,,,,,,,,,,,
........................
........................
::::::::::::::::::::::::
::::::::::::::::o:::::::
::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
/\,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,,,,,,,,,,,,,
..,,,,,,,,,,,,,,,,,,,,,,
..,,,,,/........%,,,,,,,
..,,,,/.%,,,,,,,,,,,,,,,
..,,,/.%,,,,/..%,,,,,,,,
`.\,/.%,,,,/..%,,,,,,,,,
,`...%,,,,/..%,,,,,,,,,,
,,`..,,,,/..%,,,,,,,,,,,
,,,`.\,,/..%,,,,,,,,,,,,
,,,,`.\/..%,,,,,,,,,,,,,
,,,,,`....\,,,,,,,,,,,,,
,,,,,/..y..\,,,,,,,,,,,,
,,,,/..%,`..\,,,,,,,,,,,
p,,/..%,,,`..\,,,,,,,,,,
........................
........................
::::::::::::::::::::::::
:::::::::o::::::::::::::
::::::::::::::::::::::::
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment