Skip to content

Instantly share code, notes, and snippets.

@thelast19digitsofpi
Created June 20, 2022 15:32
Show Gist options
  • Save thelast19digitsofpi/0f850676b83809d5220e3bcc092f4113 to your computer and use it in GitHub Desktop.
Save thelast19digitsofpi/0f850676b83809d5220e3bcc092f4113 to your computer and use it in GitHub Desktop.
I Need My Assistance (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title I Need My Assistance
author pi
run_rules_on_level_start
key_repeat_interval 0.25
again_interval 0.1
========
OBJECTS
========
Background
#ccc #caa #aca #aac
00000
00300
00000
00002
01000
PlayerPositionCheck
#000
.....
.....
.....
.....
.....
Target
#ff0
.....
.000.
.000.
.000.
.....
TargetOff
#660
.....
.000.
.0.0.
.000.
.....
Wall
#333 #555
00010
01110
01000
11101
00111
(The trigger walls)
RedGateTemp
#c00
.....
.....
.....
.....
.....
RedGateClosed
#c00
00000
0.0.0
00000
0.0.0
00000
RedGateOpen
#c00
0...0
.....
.....
.....
0...0
RedAntiGateClosed
#c00
00000
0.0.0
00000
0.0.0
00000
RedAntiGateOpen
#c00
0...0
.....
.....
.....
0...0
RedTrigger
#c00
.....
.....
.....
.....
.000.
GreenGateTemp
#0c0
.....
.....
.....
.....
.....
GreenGateClosed
#0c0
00000
0.0.0
00000
0.0.0
00000
GreenGateOpen
#0c0
0...0
.....
.....
.....
0...0
GreenAntiGateClosed
#0c0
00000
0.0.0
00000
0.0.0
00000
GreenAntiGateOpen
#0c0
0...0
.....
.....
.....
0...0
GreenTrigger
#0c0
.....
.....
.....
.....
.000.
BlueGateTemp
#00f
.....
.....
.....
.....
.....
BlueGateClosed
#00f
00000
0.0.0
00000
0.0.0
00000
BlueGateOpen
#00f
0...0
.....
.....
.....
0...0
BlueAntiGateClosed
#00f
00000
0.0.0
00000
0.0.0
00000
BlueAntiGateOpen
#00f
0...0
.....
.....
.....
0...0
BlueTrigger
#00f
.....
.....
.....
.....
.000.
YellowGateTemp
#ee0
.....
.....
.....
.....
.....
YellowGateClosed
#ee0
00000
0.0.0
00000
0.0.0
00000
YellowGateOpen
#ff0
0...0
.....
.....
.....
0...0
YellowAntiGateClosed
#ee0
00000
0.0.0
00000
0.0.0
00000
YellowAntiGateOpen
#ff0
0...0
.....
.....
.....
0...0
YellowTrigger
#ff0
.....
.....
.....
.....
.000.
MagentaGateTemp
#f0f
.....
.....
.....
.....
.....
MagentaGateClosed
#f0f
00000
0.0.0
00000
0.0.0
00000
MagentaGateOpen
#f0f
0...0
.....
.....
.....
0...0
MagentaAntiGateClosed
#f0f
00000
0.0.0
00000
0.0.0
00000
MagentaAntiGateOpen
#f0f
0...0
.....
.....
.....
0...0
MagentaTrigger
#f0f
.....
.....
.....
.....
.000.
(Players)
Active1
#33c #0ff #000
.000.
01110
00200
0.0.0
00.00
Active2
#33c #0ff #000
.000.
01110
02020
0.0.0
00.00
Active3
#33c #0ff #000
.000.
01110
20202
0.0.0
00.00
Active4
#33c #0ff #000
.000.
01110
22022
0.0.0
00.00
Active5
#33c #0ff #000
.000.
01110
22222
0.0.0
00.00
Inactive1
#336 #c99 #000
.000.
01110
00200
0.0.0
00.00
Inactive2
#336 #c99 #000
.000.
01110
02020
0.0.0
00.00
Inactive3
#336 #c99 #000
.000.
01110
20202
0.0.0
00.00
Inactive4
#336 #c99 #000
.000.
01110
22022
0.0.0
00.00
Inactive5
#336 #c99 #000
.000.
01110
22222
0.0.0
00.00
Crate
Orange Brown
00000
00110
01010
01100
00000
ComputerOff
#000 #866
11111
10001
11111
..1..
.111.
ComputerOn
#0c0 #686
11111
10001
11111
..1..
.111.
Jump
#000
.....
.....
.....
.....
.....
PastJump
#000
.....
.....
.....
.....
.....
Ladder
#909
.0.0.
.000.
.0.0.
.000.
.0.0.
Fire1
#ff0 #fa0 #f50 #f00
02303
11020
13122
02202
32311
Fire2
#ff0 #fa0 #f50 #f00
23133
11102
32323
31201
02021
Fire3
#ff0 #fa0 #f50 #f00
02131
21121
23112
22033
21322
TempFire
red
.....
.....
.....
.....
.....
Smoke1
#aaa #555 #ff0
....0
.0...
.....
.....
.....
Smoke2
#aaa #555 #ff0
0....
..0..
.....
...0.
..0..
Smoke3
#aaa #555 #ff0
0....
...0.
.0...
....0
..1..
Smoke4
#aaa #555 #ff0
0...0
...0.
....0
.00..
..1..
Smoke5
#aaa #555 #ff0
00.0.
.....
..0..
0...0
.11..
Smoke6
#aaa #555 #ff0
.0..0
0..0.
....0
.00..
0.11.
Smoke7
#aaa #555 #ff0
..000
.....
.0.0.
00..0
.111.
Smoke8
#aaa #555 #ff0
0.0.0
.0...
.0..0
0.0.0
.121.
Smoke9
#aaa #555 #ff0
..000
.0...
.0.0.
0.10.
.1210
(Only valid moves cause fire to spread.)
FireSpreadMarker
#000
.....
.....
.....
.....
.....
=======
LEGEND
=======
(Players)
U = Active1
W = Inactive2
X = Inactive3
Y = Inactive4
Z = Inactive5
1 = RedGateClosed
A = RedAntiGateOpen
! = RedTrigger
2 = GreenGateClosed
B = GreenAntiGateOpen
@ = GreenTrigger
3 = BlueGateClosed
C = BlueAntiGateOpen
# = BlueTrigger
4 = YellowGateClosed
D = YellowAntiGateOpen
$ = YellowTrigger
5 = MagentaGateClosed
E = MagentaAntiGateOpen
% = MagentaTrigger
. = Background
+ = Wall
* = Crate
o = Target
p = TargetOff
? = ComputerOff
: = Ladder
; = Ladder and Crate
} = Fire1
{ = Fire2
j = Fire3
q = Smoke4
GateOpen = RedGateOpen or RedAntiGateOpen or GreenGateOpen or GreenAntiGateOpen or BlueGateOpen or BlueAntiGateOpen or YellowGateOpen or YellowAntiGateOpen or MagentaGateOpen or MagentaAntiGateOpen
GateClosed = RedGateClosed or RedAntiGateClosed or GreenGateClosed or GreenAntiGateClosed or BlueGateClosed or BlueAntiGateClosed or YellowGateClosed or YellowAntiGateClosed or MagentaGateClosed or MagentaAntiGateClosed
Trigger = RedTrigger or GreenTrigger or BlueTrigger or YellowTrigger or MagentaTrigger
GateTemp = RedGateTemp or GreenGateTemp or BlueGateTemp or YellowGateTemp or MagentaGateTemp
Player = Active1 or Active2 or Active3 or Active4 or Active5
Inactive = Inactive1 or Inactive2 or Inactive3 or Inactive4 or Inactive5
Obstacle = Player or Inactive or Crate or Wall or GateClosed
Pushable = Crate or Inactive
Smoke = Smoke1 or Smoke2 or Smoke3 or Smoke4 or Smoke5 or Smoke6 or smoke7 or Smoke8 or Smoke9
Fire = Fire1 or Fire2 or Fire3
Smoke8Plus = Smoke8 or Smoke9
Smoke7Plus = Smoke7 or Smoke8Plus
=======
SOUNDS
=======
Crate MOVE 36772507
SFX0 36560301 (switch)
SFX1 48625504 (active player burned)
SFX2 88888903 (computer)
================
COLLISIONLAYERS
================
Background
GateTemp
Target, TargetOff, ComputerOff, ComputerOn, Ladder, GateOpen
Jump, PastJump
Player, Inactive, Wall, Crate, GateClosed
Trigger
Smoke, Fire, TempFire
FireSpreadMarker, PlayerPositionCheck
======
RULES
======
(For fire spreading, makes sure you actually move)
[> Player] -> [> Player PlayerPositionCheck]
(Player can push crates and inactive robots.)
[> Player | Pushable] -> [> Player | > Pushable]
[> Pushable | Pushable] -> [> Pushable | > Pushable]
(Jump markers are removed if you make any other move)
[Jump] -> [PastJump]
(Players can jump up one tile if they don't have a jump marker below them)
UP [no Jump no PastJump | > Player no Ladder] -> [ | Jump > Player]
[PastJump] -> []
(Cancel upward movements unless you have something to stand on)
UP [no Ladder no Obstacle | > Player no Ladder] -> [ | Player]
(Down activates computers, computer opens the exit)
DOWN [> Player ComputerOff] [TargetOff] -> [Player ComputerOn] [Target] sfx2
(if any inactive computers remain, the exit is closed)
[ComputerOff] [Target] -> [ComputerOff] [TargetOff]
(For fire spreading, but I'm not sure if I have to do this or not)
[Fire] -> [Fire FireSpreadMarker]
[Action Player] [FireSpreadMarker] -> [Action Player] []
(delete the spread markers if you didn't move)
late [Player PlayerPositionCheck] [FireSpreadMarker] -> [Player PlayerPositionCheck] []
(Action button toggles which player is active, finds the first one available)
[Action Active1] [Inactive2] -> [Inactive1] [Active2] sfx0
[Action Active1] [Inactive3] -> [Inactive1] [Active3] sfx0
[Action Active1] [Inactive4] -> [Inactive1] [Active4] sfx0
[Action Active1] [Inactive5] -> [Inactive1] [Active5] sfx0
[Action Active2] [Inactive3] -> [Inactive2] [Active3] sfx0
[Action Active2] [Inactive4] -> [Inactive2] [Active4] sfx0
[Action Active2] [Inactive5] -> [Inactive2] [Active5] sfx0
[Action Active2] [Inactive1] -> [Inactive2] [Active1] sfx0
[Action Active3] [Inactive4] -> [Inactive3] [Active4] sfx0
[Action Active3] [Inactive5] -> [Inactive3] [Active5] sfx0
[Action Active3] [Inactive1] -> [Inactive3] [Active1] sfx0
[Action Active3] [Inactive2] -> [Inactive3] [Active2] sfx0
[Action Active4] [Inactive5] -> [Inactive4] [Active5] sfx0
[Action Active4] [Inactive1] -> [Inactive4] [Active1] sfx0
[Action Active4] [Inactive2] -> [Inactive4] [Active2] sfx0
[Action Active4] [Inactive3] -> [Inactive4] [Active3] sfx0
[Action Active5] [Inactive1] -> [Inactive5] [Active1] sfx0
[Action Active5] [Inactive2] -> [Inactive5] [Active2] sfx0
[Action Active5] [Inactive3] -> [Inactive5] [Active3] sfx0
[Action Active5] [Inactive4] -> [Inactive5] [Active4] sfx0
(BUG: crates are falling while we check for ... maybe this was fixed?)
(Switch blocks assume they should deactivate)
(temps are so it does not destroy another object)
late [RedGateOpen] -> [RedGateTemp]
late [RedGateClosed] -> [RedGateTemp]
late [RedAntiGateClosed] -> [RedAntiGateOpen]
late [GreenGateOpen] -> [GreenGateTemp]
late [GreenGateClosed] -> [GreenGateTemp]
late [GreenAntiGateClosed] -> [GreenAntiGateOpen]
late [BlueGateOpen] -> [BlueGateTemp]
late [BlueGateClosed] -> [BlueGateTemp]
late [BlueAntiGateClosed] -> [BlueAntiGateOpen]
late [YellowGateOpen] -> [YellowGateTemp]
late [YellowGateClosed] -> [YellowGateTemp]
late [YellowAntiGateClosed] -> [YellowAntiGateOpen]
late [MagentaGateOpen] -> [MagentaGateTemp]
late [MagentaGateClosed] -> [MagentaGateTemp]
late [MagentaAntiGateClosed] -> [MagentaAntiGateOpen]
(If there is something on the trigger, then flip the gates)
late [RedAntiGateOpen no Obstacle] [RedTrigger Obstacle] -> [RedAntiGateClosed] [RedTrigger Obstacle]
+late [RedGateTemp] [RedTrigger Obstacle] -> [RedGateOpen] [RedTrigger Obstacle]
+late [GreenAntiGateOpen no Obstacle] [GreenTrigger Obstacle] -> [GreenAntiGateClosed] [GreenTrigger Obstacle]
+late [GreenGateTemp] [GreenTrigger Obstacle] -> [GreenGateOpen] [GreenTrigger Obstacle]
+late [BlueAntiGateOpen no Obstacle] [BlueTrigger Obstacle] -> [BlueAntiGateClosed] [BlueTrigger Obstacle]
+late [BlueGateTemp] [BlueTrigger Obstacle] -> [BlueGateOpen] [BlueTrigger Obstacle]
+late [YellowAntiGateOpen no Obstacle] [YellowTrigger Obstacle] -> [YellowAntiGateClosed] [YellowTrigger Obstacle]
+late [YellowGateTemp] [YellowTrigger Obstacle] -> [YellowGateOpen] [YellowTrigger Obstacle]
+late [MagentaAntiGateOpen no Obstacle] [MagentaTrigger Obstacle] -> [MagentaAntiGateClosed] [MagentaTrigger Obstacle]
+late [MagentaGateTemp] [MagentaTrigger Obstacle] -> [MagentaGateOpen] [MagentaTrigger Obstacle]
(Resolve crates and players falling)
+late DOWN [Crate | no Obstacle no GateTemp] -> [| Crate no Obstacle]
+late DOWN [Inactive no Ladder | no Obstacle no Ladder no GateTemp] -> [| Inactive no Obstacle]
(Players fall until reaching obstacles)
+late DOWN [Player no Ladder | no Obstacle no Ladder no Jump no GateTemp] -> [ | Player]
(If a gate can close and it is not triggered, close it)
late [RedGateTemp no Obstacle] -> [RedGateClosed]
late [GreenGateTemp no Obstacle] -> [GreenGateClosed]
late [BlueGateTemp no Obstacle] -> [BlueGateClosed]
late [YellowGateTemp no Obstacle] -> [YellowGateClosed]
late [MagentaGateTemp no Obstacle] -> [MagentaGateClosed]
(fire animation)
late [FireSpreadMarker] [Fire3] -> [FireSpreadMarker] [TempFire]
late [FireSpreadMarker] [Fire2] -> [FireSpreadMarker] [Fire3]
late [FireSpreadMarker] [Fire1] -> [FireSpreadMarker] [Fire2]
late [FireSpreadMarker] [TempFire] -> [FireSpreadMarker] [Fire1]
(Fire spreads)
late [FireSpreadMarker] [Fire | Smoke9] -> [FireSpreadMarker] [Fire | random Fire]
late [FireSpreadMarker] [Fire | Smoke8] -> [FireSpreadMarker] [Fire | Smoke9]
late [FireSpreadMarker] [Fire | Smoke7] -> [FireSpreadMarker] [Fire | Smoke8]
late [FireSpreadMarker] [Fire | Smoke6] -> [FireSpreadMarker] [Fire | Smoke7]
late [FireSpreadMarker] [Fire | Smoke5] -> [FireSpreadMarker] [Fire | Smoke6]
late [FireSpreadMarker] [Fire | Smoke4] -> [FireSpreadMarker] [Fire | Smoke5]
late [FireSpreadMarker] [Fire | Smoke3] -> [FireSpreadMarker] [Fire | Smoke4]
late [FireSpreadMarker] [Fire | Smoke2] -> [FireSpreadMarker] [Fire | Smoke3]
late [FireSpreadMarker] [Fire | Smoke1] -> [FireSpreadMarker] [Fire | Smoke2]
late [FireSpreadMarker] [Fire | no Smoke no Fire no Wall] -> [FireSpreadMarker] [Fire | Smoke1]
(Crates ignite much faster (+3).)
late [FireSpreadMarker] [Smoke7Plus Crate] -> [FireSpreadMarker] [random Fire]
late [FireSpreadMarker] [Smoke6 Crate] -> [FireSpreadMarker] [Smoke9 Crate]
late [FireSpreadMarker] [Smoke5 Crate] -> [FireSpreadMarker] [Smoke8 Crate]
late [FireSpreadMarker] [Smoke4 Crate] -> [FireSpreadMarker] [Smoke7 Crate]
late [FireSpreadMarker] [Smoke3 Crate] -> [FireSpreadMarker] [Smoke6 Crate]
late [FireSpreadMarker] [Smoke2 Crate] -> [FireSpreadMarker] [Smoke5 Crate]
late [FireSpreadMarker] [Smoke1 Crate] -> [FireSpreadMarker] [Smoke4 Crate]
(Ladders ignite faster than air, but slower than crates (+2).)
late [FireSpreadMarker] [Smoke8Plus Ladder] -> [FireSpreadMarker] [random Fire]
late [FireSpreadMarker] [Smoke7 Ladder] -> [FireSpreadMarker] [Smoke9 Ladder]
late [FireSpreadMarker] [Smoke6 Ladder] -> [FireSpreadMarker] [Smoke8 Ladder]
late [FireSpreadMarker] [Smoke5 Ladder] -> [FireSpreadMarker] [Smoke7 Ladder]
late [FireSpreadMarker] [Smoke4 Ladder] -> [FireSpreadMarker] [Smoke6 Ladder]
late [FireSpreadMarker] [Smoke3 Ladder] -> [FireSpreadMarker] [Smoke5 Ladder]
late [FireSpreadMarker] [Smoke2 Ladder] -> [FireSpreadMarker] [Smoke4 Ladder]
late [FireSpreadMarker] [Smoke1 Ladder] -> [FireSpreadMarker] [Smoke3 Ladder]
(Gates hold off smoke but not fire -- this is important for a few levels)
late [Smoke GateClosed] -> [GateClosed]
(Fire consumes all)
late [Fire Crate] -> [Fire]
late [Fire Inactive] -> [Fire]
(If fire consumes an active player, you automatically switch to a different bot)
late [Fire Player] [Inactive1] -> [Fire] [Active1] sfx1
late [Fire Player] [Inactive2] -> [Fire] [Active2] sfx1
late [Fire Player] [Inactive3] -> [Fire] [Active3] sfx1
late [Fire Player] [Inactive4] -> [Fire] [Active4] sfx1
late [Fire Player] [Inactive5] -> [Fire] [Active5] sfx1
late [Fire Player] -> [Fire] sfx1
(remove position checks)
late [PlayerPositionCheck] -> []
==============
WINCONDITIONS
==============
Any Player on Target
=======
LEVELS
=======
message Level 1: The Basics
message Arrow keys to move. Push crates to get to the exit!
+......*.....+
+.....+++....+
+....++......+
+..*......+..+
+.+++...u.+..+
+.....*.*.+.o+
++++++++++++++
message Level 2: Linearity
message You can push multiple crates, but only horizontally...
+......*......++
+......*......++
+......*......++
+...*..*...*..++
+u.***.+.+++..++
++++++.+.+o...++
++++++.+.++...++
++++++.+.++.*..+
++++++.+.++.*..+
++++++++++++++++
message Level 3: Assistance
message Press X to switch robots. You only need 1 robot to exit.
+++...........+
+z............+
++............+
+y...........o+
++..........+++
+x..........+++
+++........*+++
+w.......++++++
++++.....++++++
+u.....*.++++++
+++++++++++++++
message Level 4: Pushing and Shoving
message Again, if you get stuck, Z or U will undo and R will restart
+...+x.....++..........
++..++.....++.........+
+u.........w+.........+
++.........++.........+
+.....*.....+o........+
+.....++..*.+++.......+
+........++...+.......+
+.............++++....+
+..*.............++...+
+.+++...............*.+
+................++++++
+..................y+++
+.................+++++
+..................z+++
+++++++++++++++++++++++
message Level 5: Help is On the Way
message Press the DOWN arrow at a computer to activate it. Activate all computers to open the exit.
++++++++++++++++++++
+..................+
+.....+++++........+
+.*..++++++...*....+
++++....+++x..+....+
+++++.....+w..+.+.++
++++++..*.+u..+.+.o+
+++....+++++++++++++
+++...+++......+...+
+++...*........+?..+
+++++++++......++..+
+++++++++.y..z.....+
++++++++++++++++++++
message Level 6: Configuration
message Up and Down to climb ladders.
+............+++...++
+...*..*.....+?....++
++:++:++:++:+++.....+
+.:..........+++...o+
+.:.......*..++++..++
+.:.......+..++++...+
+.:...*..+.+.+......+
+u:..++..*...+....+++
+w:+...+.+......+++++
+x:.+........++++++++
+y:..........++++++++
+z:..........++++++++
++:.*........++++++++
+++++++++++++++++++++
message Level 7: Supports
message You'll probably need to use the Z and R keys for this.
+++++++++++++++++++
+............*....+
+.........+++++...+
+.......+++...*...+
+........*....+...+
+......+++++..+...+
+?...*.:++..*.+...+
+++.+++:+..++:+...+
+......:+....:+..o+
+......:+++..:+.+++
+..z..y:....+++.+++
+..++++:....+++.+++
+......:..+++++.+++
+......:..+++++.+++
+u.w.x.:..+++++.+++
+++++++++++++++++++
message Level 8: Don't drop them!
message If only life let you undo...
+.....................+
+.....................+
+.........++++:.......+
+........+....:.......+
+.......+.....:.......+
o.+....+......:.......+
+.+....+..+:++:+....*.+
+.+....+...:.......**.+
+.++++++...:.......++++
+.+........:..........+
+.+........++++.+++...+
+++............+...*..+
+..................++++
+..................+..+
+................*++..+
+...........:+++++++.?+
+......++...:........++
+....+:..+++:........++
+...*.:.....:........++
+.u.+.:.w..x:..y..z.+++
+++++++++++++++++++++++
message Level 9: Triggered
message I think you can figure out what these do...
++........+o.......+.*..........+
++........++.+++++:+.:++:++:++:++
+?........++.++3?+:+.:.::....?..+
++....**..++++2.++:+.:.::..*.+..+
++:#@.23....+y..++:+.:a:+..+++..+
++:++.......+x+++::+++.:..+...*.+
++:.........+w+++:++...:.a....+.+
++:..........*..+:++...:........+
++:.....++++++..+:.+...:.......++
++......1....++.++.....:++aa....+
+.......1*....+..+.....:.....++++
+.++++++++..*.+..+.....:.....:+++
+..........a+++..+.++++++++++:+++
+.........a...+..+++23.cb....:+++
+u...!.*.a...?+.@.#.23.cb.@+.:1?+
+++++++++++++++++++++++++++++++++
message Level 10: Rescue Mission
message Somehow I feel like something is not right...
+o:+..+........................:++++
++:+?.+.+++++++++++++++++++++++:+w++
++:++:+..?....*...:...::2*2...+:.*.+
++:+.:+..:....+.*.:.*..:.2....+:++++
+.*..:+.@:...b..3.:.+3.:......+:.:++
+.+..+++++.2b...cc:++c.:......+++:++
+q+u*....+.b2.....:2*33:..+...+*+:++
{++++....+...2b...:.+cc:..+.+..*.:.+
++.......+...b2...:....:..+:++++++++
+...++++.+.*b.....:#...:..+:....*..+
+.*.:....++++++++++++++++++++...+..+
++++:....+!.......+*+.........*....+
++++:....++..+++...*+...++++..++++?+
++++:...!1..*....+.*...+++++.*++++++
++++++++++++++++++++++.+++++++++++++
message Level 11: When There's Smoke...
message Uh oh, I hear alarms. You should make good use of Z here...
+++++++++++++++++++++++++
+...............+:..*..}+
+?.........*..*.+:+++++++
+++:++++++++:++++:.....:+
+++.............+++++++:+
+++*............+:.....:+
+++++++:+++.+++++:+++++++
+...+...........+:.*..:++
+.+...*.........++++++:++
+.+++++++++++++:+..:++:++
+...............+.+:++:++
+...........*.....+:++:++
+++:+++++:+++++++++:..:++
+...............+..:...o+
+u.....*...........:..+++
++++++++++++++++++.+..+++
++++++++++++++++++++..+++
+++++++++++++++++++++++++
message Level 12: Watching the World Burn
message Almost... there...
++++++++++++....+++++++++
+............+.***......p
+:+++....+++++++++.++++++
+:+++....***.........***:
+:+++....***..**+*...+++:
.:.:+?...***..***++++...:
+++:++++++++++++*....*..;
+:.:+++++++:..:++...**..;
+:+++..*...:*+:+...***..;
+:.:+..*...:*+:+..****..;
+++:+..*...**+:+.*****..;
{j{:+..*...**+:+******..;
j}j:+..*...**+:*******..;
}{}:u..**..**+:*******..;
++++***++++++************
message You have escaped!! Congratulations!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment