Skip to content

Instantly share code, notes, and snippets.

@Draknek
Forked from anonymous/readme.txt
Last active August 29, 2015 14:28
Show Gist options
  • Save Draknek/7ff38959fae90d2fed6f to your computer and use it in GitHub Desktop.
Save Draknek/7ff38959fae90d2fed6f to your computer and use it in GitHub Desktop.
title Tentacle test
author Alan Hazelden - thanks to Ricky Liu
homepage www.puzzlescript.net
noaction
(realtime_interval 0.2)
again_interval 0.1
run_rules_on_level_start
(verbose_logging)
========
OBJECTS
========
Background
#ccc #ddd #bee
10000
12220
12220
12220
11110
Wall
#555 #444 #333 #222
00220
11001
02220
00011
31113
Hole
black
Crate
Brown
00000
0...0
0...0
0...0
00000
HumanStill
DarkRed #493c2b #000000
..0..
.111.
01110
02220
.2.2.
HumanL
DarkRed #493c2b #000000
..0..
.111.
01110
02220
.2.2.
HumanR
DarkRed #493c2b #000000
..0..
.111.
01110
02220
.2.2.
HumanU
DarkRed #493c2b #000000
..0..
.111.
01110
02220
.2.2.
HumanD
DarkRed #493c2b #000000
..0..
.111.
01110
02220
.2.2.
Player
transparent
BodyTL
purple white
..000
...00
.0000
00110
00110
BodyTR
purple white
000..
00...
0000.
01100
01100
BodyBL
purple
00000
00000
.0000
.0000
..000
BodyBR
purple
00000
00000
0000.
0000.
000..
Stump
purple pink darkred
.....
.....
...20
..200
..000
CornerL
purple
....0
.....
.....
.....
.....
RootUp
purple pink
.....
.....
000..
0001.
000..
RootDown
purple pink
000..
0001.
000..
.....
.....
CornerBelowRoot
purple
0....
.....
.....
.....
.....
CornerAboveRoot
purple
.....
.....
.....
.....
0....
PrevU
purple pink
.000.
.000.
.100.
..1..
.....
PrevD
purple pink
.....
..1..
.001.
.000.
.000.
PrevL
purple pink
.....
000..
0001.
001..
.....
PrevR
purple pink
.....
..100
.1000
..000
.....
PrevNew
transparent
NextU
purple pink
.001.
.001.
.000.
.....
.....
NextD
purple pink
.....
.....
.000.
.100.
.100.
NextL
purple pink
.....
110..
000..
000..
.....
NextR
purple pink
.....
..000
..000
..011
.....
(NextU2
purple pink
..001
..001
..00.
.....
.....
NextD2
purple pink
.....
.....
.00..
100..
100..
NextL2
purple pink
11...
000..
000..
.....
.....
NextR2
purple pink
.....
.....
..000
..000
...11)
Move
transparent
Fire
Orange Yellow DarkBrown
.0.0.
000..
0100.
.010.
2.2.2
=======
LEGEND
=======
. = Background
P = Player and PrevL
# = Wall
u = PrevU
d = PrevD
l = PrevL
r = PrevR
1 = BodyTL
2 = BodyTR
3 = BodyBL
4 = BodyBR
/ = RootUp
\ = Stump
* = Crate
@ = HumanStill
_ = Hole
x = Fire
Body = BodyTL or BodyTR or BodyBL or BodyBR or RootUp or RootDown or Stump
Human = HumanStill or HumanL or HumanR or HumanU or HumanD
Next = NextU or NextD or NextL or NextR (or NextU2 or NextD2 or NextL2 or NextR2)
Prev = PrevU or PrevD or PrevL or PrevR or PrevNew or BodyTL or BodyTR or BodyBL or BodyBR or RootUp or RootDown or Stump
Obstacle = Wall or Prev or Crate or Human
Corner = CornerL or CornerBelowRoot or CornerAboveRoot
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Hole, Fire
Prev
Corner
Next, Player, Wall, Crate, Human
Move
======
RULES
======
([stationary Player] -> [Player Tick])
(simplify)
[PrevU] -> [Up PrevU]
[PrevD] -> [Down PrevD]
[PrevL] -> [Left PrevL]
[PrevR] -> [Right PrevR]
[RootUp] -> [left RootUp]
[RootDown] -> [left RootDown]
[Next] -> []
[ Corner ] -> []
(human movement)
left [ Player | HumanStill | no Obstacle ] -> [ Player | HumanL | ]
right [ Player | HumanStill | no Obstacle ] -> [ Player | HumanR | ]
up [ Player | HumanStill | no Obstacle ] -> [ Player | HumanU | ]
down [ Player | HumanStill | no Obstacle ] -> [ Player | HumanD | ]
[ stationary Player ] [ HumanL ] -> [ Player ] [ left HumanL ]
[ stationary Player ] [ HumanR ] -> [ Player ] [ right HumanR ]
[ stationary Player ] [ HumanU ] -> [ Player ] [ up HumanU ]
[ stationary Player ] [ HumanD ] -> [ Player ] [ down HumanD ]
[ > Human | Obstacle ] -> [ HumanStill | Obstacle ]
(crates)
[ > Player | Crate ] -> [ > Player | > Crate ]
[ > Crate | no Obstacle ] -> [ | Crate ]
[ > Crate ] -> [ action Crate ]
(calculate movement)
[ > Player > Prev | moving Prev ] -> [ | Player moving Prev ]
[ > Player > Prev | ] -> [ Player > Prev | ]
[ > Player | action Crate ] -> [ Player < Move | Crate ]
[ > Player | no Obstacle ] -> [ | < PrevNew Player ]
[ > Player | Wall ] -> [ Player < Move | Wall ]
[ > Player ] -> [ Player ]
(pushing yourself around)
([ > Move > Prev | no Move ] -> [ Move > Prev | > Move ])
[ ^ Move > Prev | no Move ] -> [ Move > Prev | ^ Move ]
[ v Move > Prev | no Move ] -> [ Move > Prev | v Move ]
[ > Move > Prev | no Move ] -> cancel
random [ < Move > Prev | no Move ] -> [ action Move > Prev | < Move ]
[ > Move stationary Prev ] -> cancel
(random [ > Move > Prev | no Move ] [ Player ]-> [ > Move > Prev | > Move ] [ action Player > Move ]
random [ > Move stationary Prev ] [ Player ]-> [ > Move Prev ] [ action Player > Move ])
[ moving Move > Prev | no Move ] -> [ moving Move > Prev | moving Move ]
[ moving Move stationary Prev | no Move stationary Prev ] -> [ moving Move Prev | moving Move Prev ]
[ > Move | stationary Move ] -> cancel
([ > Move | stationary Move ] [ Player ] -> [ > Move | > Move ] [ action Player > Move ]
[ action Player moving Move ] [ action Move ] -> [ action Player moving Move ] [ moving Move ]
[ action Player moving Move ] [ stationary Move ] -> [ action Player moving Move ] [ moving Move ]
[ action Player ] -> [ Player ])
[ > Move stationary Prev | action Move ] -> cancel
[ > Move | Wall ] -> cancel
[ > Move | Crate ] -> [ > Move | > Crate ]
[ > Move | stationary Human ] -> [ > Move | > Human ]
[ > Crate | Crate ] -> cancel
[ > Crate | Wall ] -> cancel
[ > Crate | Human ] -> cancel
[ > Crate | Hole ] -> [ | ]
[ > Crate | Fire ] -> [ | Fire ]
[ > Human | Crate ] -> cancel
[ > Human | Wall ] -> cancel
[ > Human | Human ] -> cancel
[ > Human | Hole ] -> [ | ]
[ > Human | Fire ] -> [ | Fire ]
[ action Move Prev ] -> []
[ > Move moving Prev no Player | no Move no Obstacle ] -> [ | moving Prev ]
+ [ > Move stationary Prev no Player | no Move no Obstacle ] -> [ | Prev ]
+ [ > Crate | no Move no Obstacle ] -> [ | Crate ]
+ [ > HumanStill | no Move no Obstacle ] -> [ | HumanStill ]
[ > Crate ] -> cancel
[ > Move moving Prev Player | no Obstacle ] -> [ Player > Prev | moving Prev ]
(holes)
[ Hole no Prev | < Prev ] [ Player ] -> [ Hole | < Prev ] [ action Player ]
[ action Player > Prev | ] -> [ | Player ] again
[ stationary Prev Hole ] -> [ Hole ] again
[ stationary Prev Hole ] -> [ Prev Hole ] again
(desimplify)
[RootUp] -> [stationary RootUp]
[RootDown] -> [stationary RootDown]
[Up Prev] -> [PrevU]
[Down Prev] -> [PrevD]
[Left Prev] -> [PrevL]
[Right Prev] -> [PrevR]
down [ RootUp | PrevU ] -> [ | RootDown ]
up [ RootDown | PrevD ] -> [ | RootUp ]
[ Move ] -> []
(draw)
late Up [PrevU | ] -> [PrevU | NextD]
late Down [PrevD | ] -> [PrevD | NextU]
late Left [PrevL | ] -> [PrevL | NextR]
late Right [PrevR | ] -> [PrevR | NextL]
late down [ Stump | ] -> [ Stump | CornerL ]
late down [ RootUp | ] -> [ RootUp | CornerBelowRoot ]
late up [ RootDown | ] -> [ RootDown | CornerAboveRoot ]
late [ Prev Fire ] -> cancel
[ Human | BodyTR ] -> win
==============
WINCONDITIONS
==============
=======
LEVELS
=======
message Goal: eat the cowering human
message Hint: if you can't bring the food to you...
############
#.........@#
#..........#
#..........#
#....xxxxxx#
#....#######
#..........#
#..........#
#####x....##
#..........#
#..........#
#..........#
#....#######
#..........#
#..........#
####....####
#..........#
#........#.#
#..........#
#..........#
#..........#
#....#.....#
#......dp..#
#.\12/ll...#
#..34......#
#..........#
############
message Thanks for playing :)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment