Skip to content

Instantly share code, notes, and snippets.

@Draknek
Last active October 2, 2024 22:17
Show Gist options
  • Save Draknek/cc7e22ec296042a4e4baeecf34e2a36e to your computer and use it in GitHub Desktop.
Save Draknek/cc7e22ec296042a4e4baeecf34e2a36e to your computer and use it in GitHub Desktop.
Slime Stretch
https://puzzlescriptnext.polyomino.com/editor.html
title Slime Stretch
author Alan Hazelden
homepage https://alan.draknek.org/
//tween_length 0.1
again_interval 0.1
run_rules_on_level_start
noaction
level_select
level_select_solve_symbol ✓
// enable one-line comments
========
OBJECTS
========
Background
#000
Floor
#666 #444 #777
00000
00000
00200
00000
00000
11111
11111
11111
translate:down:9
ShortWall
#888 #444 #888
20002
00000
00000
00000
20002
11111
11111
11111
11111
11111
11111
translate:down:9
TallWall
#ccc #444
00000
00000
00000
00000
00000
11111
11111
11111
11111
11111
11111
11111
11111
11111
translate:down:9
Destination:H1
black
.....
.000.
.0.0.
.000.
.....
translate:down:6
Player:H1
#a46422 #5e3d38 #53261f
..0..
.111.
01110
02220
.2.2.
translate:down:4
Crate:H1
#eb9141 #eb8931 #732930 #69262c
.001.
.011.
.111.
.223.
.223.
.223.
translate:down:5
Slime:H1
#58b81db0 #6bdb24b0 #3e940ab0 #4aa314b0
00000
00010
01000
00100
00000
translate:down:3
SlimeSide:up:H1
#6bdb2440
0000.
.....
.....
.....
.....
translate:down:3
SlimeSide:directions:H1
#6bdb2440
copy:SlimeSide:up:H1 rot:up:directions
SlimeFront:H1
#58b81db0 #6bdb24b0 #3e940ab0 #3e940ab0 #4aa314b0
22222
32232
22222
.....
.....
translate:down:8
SlimeStretch:H1
red
Falling:H1
transparent
ElevatorToggle
transparent
ElevatorDown
#294973 #999 #444
00000
01110
01110
01110
00000
22222
22222
22222
translate:down:9
ElevatorUp
#294973 #999 #444 #222 #555
00000
01110
01110
01110
00000
22222
43334
43334
44444
22222
22222
translate:down:9
// height 0 objects
Player:H0
#a46422 #5e3d38 #53261f
copy: Player:H1 translate:down:3
Crate:H0
#eb9141 #eb8931 #732930 #69262c
copy: Crate:H1 translate:down:3
Slime:H0
#58b81db0 #6bdb24b0 #3e940ab0 #4aa314b0
copy: Slime:H1 translate:down:3
SlimeSide:directions:H0
#6bdb2440
copy: SlimeSide:directions:H1 translate:down:3
SlimeFront:H0
#58b81db0 #6bdb24b0 #3e940ab0 #3e940ab0 #4aa314b0
copy: SlimeFront:H1 translate:down:3
SlimeStretch:H0
red
// height 2 objects
Player:H2
#a46422 #5e3d38 #53261f
copy: Player:H1 translate:up:3
Crate:H2
#eb9141 #eb8931 #732930 #69262c
copy: Crate:H1 translate:up:3
Slime:H2
#58b81db0 #6bdb24b0 #3e940ab0 #4aa314b0
copy: Slime:H1 translate:up:3
SlimeSide:directions:H2
#6bdb2440
copy: SlimeSide:directions:H1 translate:up:3
SlimeFront:H2
#58b81db0 #6bdb24b0 #3e940ab0 #3e940ab0 #4aa314b0
copy: SlimeFront:H1 translate:up:3
SlimeStretch:H2
red
Falling:H2
transparent
Destination:H2
black
copy: Destination:H1 translate:up:3
// gfx
FloorBorder:up:H1
#7a7163 transparent transparent
00000
12221
.....
.....
.....
translate:down:6
FloorBorder:directions:H1
#7a7163 transparent transparent
copy: FloorBorder:up:H1 rot:up:directions
FloorBorderCorner:up:H1
#7a7163
0....
.....
.....
.....
.....
translate:down:6
FloorBorderCorner:directions:H1
#7a7163
copy: FloorBorderCorner:up:H1 rot:up:directions
FloorBorder:directions:H2
#b4a692 transparent #808080
copy: FloorBorder:directions:H1 translate:up:3
FloorBorderCorner:up:H2
#b4a692
0....
.....
.....
.....
.....
translate:down:3
FloorBorderCorner:directions:H2
#b4a692
copy: FloorBorderCorner:up:H2 rot:up:directions
====
TAGS
====
H = H0 H1 H2
H_1or2 = H1 H2
dir_lru = left right up
// can't get mappings to work, I'll just do it manually
(Habove = H1
========
MAPPINGS
========
Habove => Hbelow
H1 -> H0)
=======
LEGEND
=======
. = Floor
P = Player:H1 and Floor
Q = Player:H2 and ShortWall
S = Slime:H1 and Floor
T = Slime:H2 and ShortWall
$ = ShortWall
# = TallWall
* = Crate:H1 and Floor
@ = Crate:H2 and ShortWall
_ = Background
1 = Destination:H1 and Floor
2 = Destination:H2 and ShortWall
A = ElevatorDown
B = ElevatorUp
Wall:H2 = TallWall
Wall:H1 = Wall:H2 or ShortWall or ElevatorUp
Wall:H0 = Wall:H1 or Floor or ElevatorDown
SomeFloor = Wall:H0
MovingSolid:H0 = Player:H0 or Crate:H0
MovingSolid:H1 = Player:H1 or Crate:H1
MovingSolid:H2 = Player:H2 or Crate:H2
Solid:H0 = Wall:H0 or Player:H0 or Crate:H0
Solid:H1 = Wall:H1 or Player:H1 or Crate:H1
Solid:H2 = Wall:H2 or Player:H2 or Crate:H2
Standable:H1 = Floor or ElevatorDown or Player:H0 or Crate:H0 or Slime:H0
Standable:H2 = ShortWall or ElevatorUp or Player:H1 or Crate:H1 or Slime:H1
Player = Player:H0 or Player:H1 or Player:H2
AnyDestination = Destination:H1 or Destination:H2
Something:H0 = Player:H0 or Crate:H0 or Slime:H0
Something:H1 = Player:H1 or Crate:H1 or Slime:H1
Something:H2 = Player:H2 or Crate:H2 or Slime:H2
Shadows = FloorBorder:directions:H_1or2
=======
SOUNDS
=======
EndLevel 17718708
Restart 50986909
Undo 88249507
sfx0 74542309 //enter/leaving slime
sfx1 73903506 // elevator
sfx2 26349706 // elevator
sfx3 16928507 // moving
Falling:H1 Destroy 28221907
Falling:H2 Destroy 28221907
Player:H0 Create 93238702
================
COLLISIONLAYERS
================
Background
---
Floor, ShortWall, TallWall, ElevatorDown, ElevatorUp
directions -> FloorBorderCorner:directions:H_1or2
directions -> FloorBorder:directions:H_1or2
Player:H0, Crate:H0
Slime:H0
SlimeFront:H0
directions -> SlimeSide:directions:H0
Destination:H1
Player:H1, Crate:H1
Slime:H1
SlimeFront:H1
directions -> SlimeSide:directions:H1
Destination:H2
Player:H2, Crate:H2
Slime:H2
SlimeFront:H2
directions -> SlimeSide:directions:H2
ElevatorToggle
SlimeStretch:H0
SlimeStretch:H1, Falling:H1
SlimeStretch:H2, Falling:H2
======
RULES
======
[ moving Player:H0 ] -> cancel
[ moving Player:H ] -> sfx3
// slime walls
H [ Slime:H no SlimeSide:directions:H ] -> [ action Slime:H ]
H [ action Slime:H | no Slime:H ] -> [ action Slime:H SlimeSide:>:H | ]
H [ action Slime:H ] -> [ Slime:H ]
H [ SlimeFront:H ] -> []
// avoid falling into holes unnecessarily
[ > Player:H1 no Slime:H1 | no Standable:H1 no Slime:H1 ] -> [ Player:H1 | ]
[ > Player:H2 no Slime:H2 | no Standable:H1 no Slime:H1 no Standable:H2 no Slime:H2 ] -> [ Player:H2 | ]
// pushing
H [ > Player:H | Crate:H ] -> [ > Player:H | > Crate:H ]
H [ > Crate:H | Crate:H ] -> [ > Crate:H | > Crate:H ]
H [ > Solid:H | stationary Solid:H ] -> [ Solid:H | Solid:H ]
H [ Slime:H > Solid:H SlimeSide:>:H | ] -> [ > Slime:H > Solid:H SlimeSide:>:H | ] // pushing from inside
H [ moving Slime:H no SlimeSide:>:H | Slime:H ] -> [ moving Slime:H | moving Slime:H ] // propogate through current Slime
H [ > Slime:H SlimeSide:<:H stationary Solid:H ] -> [ > Slime:H SlimeSide:<:H Solid:H > SlimeStretch:H ] // mark for stretching
startloop
H [ > Slime:H SlimeSide:>:H | action Slime:H ] -> [ action Slime:H SlimeSide:>:H | action Slime:H ] // detect collision with blocked slime
H [ > Slime:H SlimeSide:>:H | Wall:H ] -> [ action Slime:H SlimeSide:>:H | Wall:H ] // detect collision with wall
H [ action Slime:H no SlimeSide:>:H | Slime:H ] -> [ action Slime:H | action Slime:H ] // propogate through current Slime
H [ > Slime:H SlimeSide:<:H stationary Solid:H no SlimeStretch:H ] -> [ > Slime:H SlimeSide:<:H > Solid:H ] // inner wall of Slime pushing crates
H [ > Slime:H | no Slime:H stationary Crate:H ] -> [ > Slime:H | > Crate:H ] // outer wall of Slime pushing crates
H [ > Crate:H | no Slime:H stationary Crate:H ] -> [ > Crate:H | > Crate:H ]
H [ > Solid:H | stationary Solid:H ] -> [ action Solid:H | action Solid:H ] // crates colliding with wall
H [ > Solid:H | stationary Slime:H SlimeSide:<:H ] -> [ > Solid:H | > Slime:H SlimeSide:<:H ] // player or crate pushing new Slime
H [ > Slime:H SlimeSide:>:H | stationary Slime:H ] -> [ > Slime:H SlimeSide:>:H | > Slime:H ] // Slime pushing new Slime
H [ moving Slime:H no SlimeSide:>:H | stationary Slime:H ] -> [ moving Slime:H | moving Slime:H ] // propogate through current Slime
endloop
H [ action Slime:H ] -> [ Slime:H ]
H [ action Solid:H ] -> [ Solid:H ]
// slime sfx
H [ > MovingSolid:H stationary Slime:H SlimeSide:>:H ] -> sfx0
H [ > MovingSolid:H | stationary Slime:H SlimeSide:<:H ] -> sfx0
// stretch prep
H [ ^ SlimeStretch:H no SlimeSide:>:H | no SlimeStretch:H ] -> [ ^ SlimeStretch:H | ^ SlimeStretch:H ]
H [ v SlimeStretch:H no SlimeSide:>:H | no SlimeStretch:H ] -> [ v SlimeStretch:H | v SlimeStretch:H ]
// actually move things
H [ > Slime:H SlimeSide:directions:H ] -> [ > Slime:H > SlimeSide:directions:H ]
H [ > Solid:H | no Solid:H ] -> [ | Solid:H ]
H [ > Slime:H no SlimeStretch:H | no Slime:H ] -> [ | Slime:H ]
H [ > SlimeSide:>:H | no SlimeSide:>:H ] -> [ | SlimeSide:>:H ]
H [ > SlimeSide:<:H no SlimeStretch:H | no SlimeSide:<:H ] -> [ | SlimeSide:<:H ]
H [ > SlimeSide:v:H no SlimeStretch:H | no SlimeSide:v:H ] -> [ | SlimeSide:v:H ]
H [ > SlimeSide:^:H no SlimeStretch:H | no SlimeSide:^:H ] -> [ | SlimeSide:^:H ]
H [ > SlimeSide:<:H SlimeStretch:H | ] -> [ SlimeSide:<:H SlimeStretch:H | Slime:H ]
H [ > SlimeSide:v:H SlimeStretch:H | ] -> [ SlimeSide:v:H SlimeStretch:H | SlimeSide:v:H ]
H [ > SlimeSide:^:H SlimeStretch:H | ] -> [ SlimeSide:^:H SlimeStretch:H | SlimeSide:^:H ]
H [ SlimeStretch:H ] -> []
// do elevators
[ ElevatorUp ElevatorToggle ] -> [ ElevatorDown ] sfx2
[ ElevatorDown ElevatorToggle ] -> [ action ElevatorDown ]
[ action ElevatorDown Something:H1 ] -> [ action ElevatorDown action Something:H1 ]
[ action Slime:H1 no SlimeSide:>:H1 | Slime:H1 ] -> [ action Slime:H1 | action Slime:H1 ] // propogate through this Slime
[ action Slime:H1 MovingSolid:H1 ] -> [ action Slime:H1 action MovingSolid:H1 ]
[ action Slime:H1 Slime:H2 ] -> [ Slime:H1 Slime:H2 ] // cancel if there's a Slime on a Slime
[ ElevatorDown action MovingSolid:H1 MovingSolid:H2 ] -> [ ElevatorDown MovingSolid:H1 MovingSolid:H2 ] // cancel if there's a crate on a crate on the elevator
[ stationary MovingSolid:H1 action Slime:H1 ] -> [ MovingSolid:H1 Slime:H1 ] // if there's a crate on a crate on the elevator, cancel the Slime's movement too
[ stationary Slime:H1 no SlimeSide:>:H1 | action Slime:H1 ] -> [ Slime:H1 | Slime:H1 ] // propogate through this Slime
[ stationary Slime:H1 action MovingSolid:H1 ] -> [ Slime:H1 MovingSolid:H1 ]
[ action ElevatorDown stationary Something:H1 ] -> [ ElevatorDown Something:H1 ] // cancel elevator movement
[ action MovingSolid:H1 no MovingSolid:H2 ] -> [ MovingSolid:H2 ]
[ action Slime:H1 SlimeSide:directions:H1 ] -> [ action Slime:H1 SlimeSide:directions:H2 ]
[ action Slime:H1 ] -> [ Slime:H2 ]
[ action ElevatorDown ] -> [ ElevatorUp ] sfx1
// do falling
[ Falling:H2 Player:H2 ] -> [ Falling:H2 Player:H1 ]
[ Falling:H2 Crate:H2 ] -> [ Falling:H2 Crate:H1 ]
[ Falling:H2 SlimeSide:directions:H2 ] -> [ Falling:H2 SlimeSide:directions:H1 ]
[ Falling:H2 Slime:H2 ] -> [ Falling:H2 Slime:H1 ]
[ Falling:H2 ] -> []
[ Falling:H1 Player:H1 ] -> [ Falling:H1 Player:H0 ]
[ Falling:H1 Crate:H1 ] -> [ Falling:H1 Crate:H0 ]
[ Falling:H1 SlimeSide:directions:H1 ] -> [ Falling:H1 SlimeSide:directions:H0 ]
[ Falling:H1 Slime:H1 ] -> [ Falling:H1 Slime:H0 ]
[ Falling:H1 ] -> []
// elevators check
[ ElevatorDown Something:H1 ] -> [ ElevatorDown Something:H1 ElevatorToggle ] again
[ ElevatorUp no Something:H2 ] -> [ ElevatorUp ElevatorToggle ] again
// falling check
[ Player:H2 no Standable:H2 no Slime:H2 ] -> [ Player:H2 Falling:H2 ]
[ Crate:H2 no Standable:H2 no Slime:H2 ] -> [ Crate:H2 Falling:H2 ]
[ Slime:H2 no Standable:H2 ] -> [ Slime:H2 Falling:H2 ]
[ Slime:H2 Standable:H2 ] -> [ action Slime:H2 Standable:H2 ]
[ action Slime:H2 no SlimeSide:>:H2 | Slime:H2 ] -> [ action Slime:H2 | action Slime:H2 no Falling:H2 ]
[ action Slime:H2 ] -> [ Slime:H2 ]
[ Slime:H2 no SlimeSide:>:H2 Falling:H2 | Slime:H2 ] -> [ Slime:H2 Falling:H2 | Slime:H2 Falling:H2 ]
[ Falling:H2 ] -> again
[ Player:H1 no Standable:H1 no Slime:H1 ] -> [ Player:H1 Falling:H1 ]
[ Crate:H1 no Standable:H1 no Slime:H1 ] -> [ Crate:H1 Falling:H1 ]
[ Slime:H1 no Standable:H1 ] -> [ Slime:H1 Falling:H1 ]
[ Slime:H1 Standable:H1 ] -> [ action Slime:H1 Standable:H1 ]
[ action Slime:H1 no SlimeSide:>:H1 | Slime:H1 ] -> [ action Slime:H1 | action Slime:H1 no Falling:H1 ]
[ action Slime:H1 ] -> [ Slime:H1 ]
[ Slime:H1 no SlimeSide:>:H1 Falling:H1 | Slime:H1 ] -> [ Slime:H1 Falling:H1 | Slime:H1 Falling:H1 ]
[ Falling:H1 ] -> again
// test level bounds
H [ moving Something:H ] -> [ Something:H ]
H [ Slime:H ] -> [ left Slime:H ]
H [ Crate:H ] -> [ left Crate:H ]
H [ > Something:H | ] -> [ Something:H | ]
H [ > Something:H ] -> cancel
H [ Slime:H ] -> [ right Slime:H ]
H [ Crate:H ] -> [ right Crate:H ]
H [ > Something:H | ] -> [ Something:H | ]
H [ > Something:H ] -> cancel
H [ Slime:H ] -> [ up Slime:H ]
H [ Crate:H ] -> [ up Crate:H ]
H [ > Something:H | ] -> [ Something:H | ]
H [ > Something:H ] -> cancel
H [ Slime:H ] -> [ down Slime:H ]
H [ Crate:H ] -> [ down Crate:H ]
H [ > Something:H | ] -> [ Something:H | ]
H [ > Something:H ] -> cancel
// cleanup
late H down [ Slime:H | no Slime:H ] -> [ Slime:H SlimeFront:H | ]
// shadow gfx
(up [ Floor | Wall:H1 no ElevatorUp ] -> [ Floor FloorBorder:up:H1 | Wall:H1 ]
up [ ShortWall | Wall:H2 ] -> [ ShortWall FloorBorder:up:H2 | Wall:H2 ]
left [ Floor | Wall:H1 no ElevatorUp ] -> [ Floor FloorBorder:left:H1 | Wall:H1 ]
left [ ShortWall | Wall:H2 ] -> [ ShortWall FloorBorder:left:H2 | Wall:H2 ]
right [ Floor | Wall:H1 no ElevatorUp ] -> [ Floor FloorBorder:right:H1 | Wall:H1 ]
right [ ShortWall | Wall:H2 ] -> [ ShortWall FloorBorder:right:H2 | Wall:H2 ])
[ Floor | no Floor no ElevatorDown no ElevatorUp ] -> [ Floor FloorBorder:>:H1 | ]
[ ShortWall | no ShortWall ] -> [ ShortWall FloorBorder:>:H2 | ]
[ Floor no FloorBorder:>:H1 no FloorBorder:^:H1 | FloorBorder:^:H1 ] -> [ Floor FloorBorderCorner:>:H1 | FloorBorder:^:H1 ]
[ ShortWall no FloorBorder:>:H2 no FloorBorder:^:H2 | FloorBorder:^:H2 ] -> [ ShortWall FloorBorderCorner:>:H2 | FloorBorder:^:H2 ]
==============
WINCONDITIONS
==============
All Player on AnyDestination
=======
LEVELS
=======
//// PART 1: slimes ////
// todo: easier first level
section Level A1
__p_________
_...________
_.s.________
_..._.._____
_____s._..._
_..s____...1
_.s.____..._
_...________
____________
____________
(hint level
__p_________
_...________
_..s________
_..._.._____
_____s._..._
__s.____...1
__..____..._
__.s________
__..________
____________
____________
)
// todo: introduce multipush
// todo: introduce walls (but put them places where you can't push against them
// todo: introduce bigger slimes, without ability to go inside
section Level A2
_____________
_____________
____..._...__
____.$._ss.__
____..._ss.__
_____________
..._____...__
.1._____ps.__
..._____...__
_____________
_____________
section Level A3
// Level design: Lucas Le Slo
____.....$$$$1$$
___......$$$...$
___s...ss$$$...$
___..p...$$$...$
____.ss..$$$__.$
____....._____.$
____.$$$$_______
________________
________________
section Level A4
_______##q##.1
_______#$$$#__
__######t$t#._
__#.ss.#$$$#._
__#.ss._...___
__#...._______
______________
______________
//// PART 2: elevators ////
section Level B1
####p####
####a####
#.....ss#
#s....ss#
#.....ss#
#.sss...#
#.sss...#
#.......#
#######$#
____.....
____1____
_________
// todo: more elevator levels without crates
section Level B2
____#####_________
____$###$_____..._
____$$$$$_____...1
____$ttt$_____..._
____$ttt$_____$.$_
____$$$$$_____..._
____a...s_____..._
____..p.._____..._
____....._________
__________________
__________________
section Level B3
_____________________
__.............______
_....a.........._____
_..p.....$ttt$.._____
_.....a..$ttt$a._____
_........$ttt$.._____
_..tt________________
_.att________________
_....______..._______
___________.1._______
___________..._______
_____________________
_____________________
section Level B4
// Level design: Lucas Le Slo
_##1##___________
_#...#___________
_#.$.#...._______
_#...#.p$$tssa___
_#___#..$t$ss.___
_#...........____
_________________
_________________
//// PART 3: crates ////
// todo: introduce crates
section Level C1
_____#######______
###2###$$$##______
###$###$#@##______
##$$$##$$@#####___
##$$$##..$#####___
##$$$......$tt$___
___...pa$..$tt$___
________$$$$$$$___
__________________
__________________
section Level C2
($$$$$#____________
$...$########_____
$.s.$..#...$#_____
$.s.$..*..a$######
$...$$$$$.$$..$$$#
$.p...........$2$#
$$$_________..$$$#
__________________
__________________
__________________
$$$$$#___________
$...$########____
$.s.$..#..a$#____
$.s.$..*..$$#####
$...$$$$$....$$$#
$.p..........$2$#
$$$__________$$$#
_________________
_________________
_________________
__________________
____.s.$$$$$$_____
____.s.$..a.$_____
____.p......$_____
__...__$$.$$$_____
__.*.______....___
__..........__$$$_
______________$2$_
______________$$$_
__________________
__________________
___...$$$$$$$_____
___.s.....a.$_____
___.s.$.*...$_____
___...$$$.$$$_____
___.p...___....___
_______.....__$$$_
______________$2$_
______________$$$_
__________________
__________________
__...$$$$$$$$_____
__.s...$..a.$_____
__.s.$.*....$_____
__...$$$$.$$$_____
__.p....___....___
_______.....__$$$_
______________$2$_
______________$$$_
__________________
_______________
__...$$$_$$$___
__.s.$.a_..$___
__.s.$..*..$___
__...$.$$$$$___
__.p.___....___
__.......__$$$_
___________$2$_
___________$$$_
_______________
________________
__...########___
__.p.$...#..$___
__...$a..*..$___
__.s.$$.$$$$$___
__.s.____....___
__........__$$$_
____________$2$_
____________$$$_
________________
________________
______#######___
______$..#..$___
__.p.$$..*..$___
__.s.$a.$$$$$___
__.s.........___
_____.....__$$$_
____________$2$_
____________$$$_
________________
_______________
_____#######___
_____$..#..$___
__...$..*..$___
__.sa$.$$$$$___
__.s........___
_____.p.___$$$_
___________$2$_
___________$$$_
_______________)
_______________
_____#######___
_____$..#..$___
_____$..*..$___
__..a$.$$..$___
__.p....$$$$___
__....s.....___
_____.s.___$$$_
___________$2$_
___________$$$_
_______________
section Level C3
$$1$$$$$$$$p$$$
$...$___......$
$...$___.....*$
$...$___..ss..$
$_______..ss..$
$_______......$
$_______......$
$$$$$$$$$$$$$$$
section Level C4
#######2#
#####...#
$$.#.ss.#
$$*#ass##
$$......$
$.......$
$..$$$..p
$$$$$$$$$
section Level C5
// Level design: Lucas Le Slo
_#####___________
_#...$___________
_#...$____$______
_#...#[email protected].__
_#...#.ss......__
_1...#......p..__
_________________
_________________
//// PART 4: and now for a little bit of everything ////
section Level D1
###########2#
####.......$#
####........#
#ttt..$..#$$#
#ttt.$$..##$#
#$$$a$...$$$#
#....@..._$$#
#....$_.@____
_______p_____
_____________
_____________
section Level D2
$$1$$$$$$$$$$$$
$...$___......$
$...$___......$
$...$___..ss..$
$___$___..ss..p
$...$___..ss..$
$....___.....*$
$....___......$
$$$$$$$$$$$$$$$
section Level D3
______#######
______#$$$..#
______#$$$a.#
______#$$$..#
______..s...#
______....ss#
______..s.ss#
______$$$####
_$$$__$q$$$$#
_$2$__$$$$$$#
_$$$_________
_____________
section Level D4
##q##2########
#$$$#$########
#$$$#.########
#$@t$.########
#$$$#.$$$$$###
#####..a..$s$$
####......*s.$
#tt#..$$..$s$$
#tt$$$$$..$$$$
##$$$$$$______
section Level D5
$$1$$$$$$$$$$$$
$...$$$_______$
$...$$$_______$
$___$$$__...*.$
$___$$$__.ss..$
$...$$$__.ss..$
$....____.....p
$...._________$
$...$$$_______$
$$$$$$$$$$$$$$$
section Level D6
##1########_____
#...______#_____
#...______a.____
#..._____.*..___
_________.a..___
________.ssp.___
________.ss..___
_________...____
________________
________________
section Level D7
____#######_____
___$$...sss.____
___$#...sss.____
[email protected].____
____.....p..____
________________
________________
________$$$_____
________$#$_____
________$$$_____
_________2______
message Thanks for playing :)
// WIP levels
(
#2##q######
$$$#$$$$..#
...#$$$$..#
$$$#$@t$..#
...#####..#
$$$#..ss..#
......ss..#
......$$..#
.....a$$..#
___________
___________
___________
__$$$$$____
__$.a$$____
__$s.$$_...
__$as.__.1.
__$.p___...
___________
___________
___________
____________
____________
__$$$$$_____
__$.a$q$____
__$s.$$$_...
__$as..__.1.
__$_.____...
____________
____________
____________
___________
___________
__$$$$$____
__$.a$$____
__$s.$$_...
__$as.__.1.
__$p.___...
___________
___________
___________
___$$$p$$$$$1$$$_
___$s...s$_..._$_
___$s...s$_..._$_
___$.....$_..._$_
___$...ss$_____$_
_________________
_________________
_________________
_________________
_________________
........$$$.$2__
...ss...$$$.$$__
...ss.........._
......p........_
..............._
...$$$$........_
...$tt$.$$$...._
...$tt$.$$$...._
...$$$$a$$$...._
________________
)
// slime on top of slime on top of elevator - blocks elevator
// crate on top of crate on top of elevator - blocks elevator
// crate on top of slime - then elevator pushes slime up so crate is in slime
// cut levels
(
______########
______.#######
______*..#####
______.a.....#
______...sss.#
______...sss.#
_$$$__.......#
2$#$___...p..#
_$$$__####.###
################_
#$$$....ttt....$_
#$t$....ttt....2_
#$$$....ttt....$_
#.a......a.______
#.....p....______
#..........______
_________________
)
// bugs
(##################
#...*..ss........#
#sss...ss.ss*ss..#
#sss...ss*ss.ssp.#
#...ss.ss.ss.ss..#
#...ss.ss........#
#................#
##################)
// fixed bugs
(
___...........2
___............
___.p.ss.s.___.
___............
_______________
_______________
#####2########
#............#
#............#
#............#
#..p.s.*.*...#
#............$
#............$
#............$
#............$
#_____________
##########
#....#.s.#
#....*.s.#
#......sp#
#......s.#
#....s.s.#
#....#.s.#
##########
)
// testcases
(
###############
####........###
####.*.p..#.###
#.....*.s.....#
#..ss...s.....#
#..ss....ss...#
#.............#
###############
##################
#................#
#....p*......$...#
#.$.s....*.s...$.#
#......s.........#
#...........*....#
#................#
##################
##################
#.____...........#
#.____.ss...*....#
#.._ss.ss*.....p.#
#...ss.ss..s.....#
#................#
#................#
##################
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment