Last active
September 29, 2024 16:27
-
-
Save raggy/9c2113ee5166aaaf02ce9cce8a379fbf to your computer and use it in GitHub Desktop.
Frog and Present (PuzzleScript Script)
This file contains 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 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 Frog and Present | |
author Benjamin Davis | |
norepeat_action | |
run_rules_on_level_start | |
again_interval 0.033 | |
background_color darkblue | |
(verbose_logging) | |
(debug) | |
======== | |
OBJECTS | |
======== | |
Background | |
blue | |
Sand | |
yellow | |
Grass | |
lightgreen | |
Quicksave | |
yellow black | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
NoLand | |
transparent | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
FrogU | |
orange lightbrown | |
0.1.0 | |
01110 | |
.111. | |
00100 | |
.000. | |
FrogD | |
orange lightbrown | |
.000. | |
00100 | |
.111. | |
01110 | |
0.1.0 | |
FrogL | |
orange lightbrown | |
00.0. | |
.1100 | |
11110 | |
.1100 | |
00.0. | |
FrogR | |
orange lightbrown | |
.0.00 | |
0011. | |
01111 | |
0011. | |
.0.00 | |
FrogSinking | |
darkblue | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
TongueU | |
lightred | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
TongueD | |
lightred | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
TongueL | |
lightred | |
..... | |
..... | |
00000 | |
..... | |
..... | |
TongueR | |
lightred | |
..... | |
..... | |
00000 | |
..... | |
..... | |
TongueExtendingU | |
lightred | |
..... | |
..... | |
..0.. | |
..0.. | |
..0.. | |
TongueExtendingD | |
lightred | |
..0.. | |
..0.. | |
..0.. | |
..... | |
..... | |
TongueExtendingL | |
lightred | |
..... | |
..... | |
..000 | |
..... | |
..... | |
TongueExtendingR | |
lightred | |
..... | |
..... | |
000.. | |
..... | |
..... | |
TongueRetractingU | |
lightred | |
..... | |
..... | |
..0.. | |
..0.. | |
..0.. | |
TongueRetractingD | |
lightred | |
..0.. | |
..0.. | |
..0.. | |
..... | |
..... | |
TongueRetractingL | |
lightred | |
..... | |
..... | |
..000 | |
..... | |
..... | |
TongueRetractingR | |
lightred | |
..... | |
..... | |
000.. | |
..... | |
..... | |
TongueConnectedU | |
lightred | |
.000. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
TongueConnectedD | |
lightred | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
.000. | |
TongueConnectedL | |
lightred | |
..... | |
..... | |
00000 | |
0.... | |
..... | |
TongueConnectedR | |
lightred | |
..... | |
..... | |
00000 | |
....0 | |
..... | |
Coconut | |
brown | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
CoconutDecULF | |
darkbrown | |
..... | |
.0... | |
..... | |
..... | |
..... | |
CoconutDecURF | |
darkbrown | |
..... | |
...0. | |
..... | |
..... | |
..... | |
CoconutDecULB | |
transparent | |
..... | |
..... | |
..... | |
...0. | |
..... | |
CoconutDecURB | |
transparent | |
..... | |
..... | |
..... | |
.0... | |
..... | |
CoconutDecDLF | |
darkbrown | |
..... | |
..... | |
..... | |
.0... | |
..... | |
CoconutDecDRF | |
darkbrown | |
..... | |
..... | |
..... | |
...0. | |
..... | |
CoconutDecDLB | |
transparent | |
..... | |
...0. | |
..... | |
..... | |
..... | |
CoconutDecDRB | |
transparent | |
..... | |
.0... | |
..... | |
..... | |
..... | |
CoconutSinking | |
darkbrown | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
CoconutInWater | |
darkbrown | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
Rock | |
grey darkgrey | |
..... | |
.00.. | |
0001. | |
1011. | |
..... | |
Present | |
red lightred | |
00100 | |
00100 | |
11111 | |
00100 | |
00100 | |
PresentSinking | |
darkred | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
Raft | |
darkgreen | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
MoveU | |
transparent | |
..0.. | |
.000. | |
0.0.0 | |
..0.. | |
..0.. | |
MoveD | |
transparent | |
..0.. | |
..0.. | |
0.0.0 | |
.000. | |
..0.. | |
MoveL | |
transparent | |
..0.. | |
.0... | |
00000 | |
.0... | |
..0.. | |
MoveR | |
transparent | |
..0.. | |
...0. | |
00000 | |
...0. | |
..0.. | |
CornerSUR | |
yellow | |
....0 | |
..... | |
..... | |
..... | |
..... | |
CornerSDR | |
yellow | |
..... | |
..... | |
..... | |
..... | |
....0 | |
CornerSUL | |
yellow | |
0.... | |
..... | |
..... | |
..... | |
..... | |
CornerSDL | |
yellow | |
..... | |
..... | |
..... | |
..... | |
0.... | |
CornerGUR | |
lightgreen | |
....0 | |
..... | |
..... | |
..... | |
..... | |
CornerGDR | |
lightgreen | |
..... | |
..... | |
..... | |
..... | |
....0 | |
CornerGUL | |
lightgreen | |
0.... | |
..... | |
..... | |
..... | |
..... | |
CornerGDL | |
lightgreen | |
..... | |
..... | |
..... | |
..... | |
0.... | |
CornerWUR | |
blue | |
....0 | |
..... | |
..... | |
..... | |
..... | |
CornerWDR | |
blue | |
..... | |
..... | |
..... | |
..... | |
....0 | |
CornerWUL | |
blue | |
0.... | |
..... | |
..... | |
..... | |
..... | |
CornerWDL | |
blue | |
..... | |
..... | |
..... | |
..... | |
0.... | |
Count0 | |
transparent | |
..... | |
..... | |
..... | |
..... | |
..... | |
Count1 | |
transparent | |
0.... | |
..... | |
..... | |
..... | |
..... | |
Count2 | |
transparent | |
00... | |
..... | |
..... | |
..... | |
..... | |
Count3 | |
transparent | |
000.. | |
..... | |
..... | |
..... | |
..... | |
Count4 | |
transparent | |
0000. | |
..... | |
..... | |
..... | |
..... | |
Count5 | |
transparent | |
00000 | |
..... | |
..... | |
..... | |
..... | |
Count6 | |
transparent | |
00000 | |
0.... | |
..... | |
..... | |
..... | |
Count7 | |
transparent | |
00000 | |
00... | |
..... | |
..... | |
..... | |
Count8 | |
transparent | |
00000 | |
000.. | |
..... | |
..... | |
..... | |
Count9 | |
transparent | |
00000 | |
0000. | |
..... | |
..... | |
..... | |
FogSeed | |
red | |
FogFullA | |
#d59ac7 #d79cc9 | |
01101 | |
01100 | |
10011 | |
00111 | |
10111 | |
FogFullB | |
#d59ac7 #d79cc9 | |
10011 | |
00000 | |
00110 | |
10110 | |
10001 | |
FogHalfA | |
#d59ac7 #d79cc9 | |
.1.0. | |
0.1.0 | |
.0.1. | |
0.1.1 | |
.0.1. | |
FogHalfB | |
#d59ac7 #d79cc9 | |
1.0.1 | |
.0.0. | |
0.1.0 | |
.0.1. | |
1.0.1 | |
ClearFogExtra | |
transparent | |
ClearFogJoin | |
transparent | |
FogCleared | |
transparent | |
FogClearedBorder | |
transparent | |
======= | |
LEGEND | |
======= | |
Frog = FrogU or FrogD or FrogL or FrogR | |
Player = Frog | |
Tongue = TongueU or TongueD or TongueL or TongueR | |
TongueExtending = TongueExtendingU or TongueExtendingD or TongueExtendingL or TongueExtendingR | |
TongueRetracting = TongueRetractingU or TongueRetractingD or TongueRetractingL or TongueRetractingR | |
TongueConnected = TongueConnectedU or TongueConnectedD or TongueConnectedL or TongueConnectedR | |
Standable = Sand or Grass or CoconutInWater or Raft | |
MoveToken = MoveU or MoveD or MoveL or MoveR | |
Corner = CornerSUR or CornerSDR or CornerSUL or CornerSDL or CornerGUR or CornerGDR or CornerGUL or CornerGDL or CornerWUR or CornerWDR or CornerWUL or CornerWDL | |
Land = Sand or Grass | |
CoconutDec = CoconutDecULF or CoconutDecURF or CoconutDecULB or CoconutDecURB or CoconutDecDLF or CoconutDecDRF or CoconutDecDLB or CoconutDecDRB | |
Count = Count0 or Count1 or Count2 or Count3 or Count4 or Count5 or Count6 or Count7 or Count8 or Count9 | |
FogFull = FogFullA or FogFullB | |
FogHalf = FogHalfA or FogHalfB | |
Fog = FogFull or FogHalf | |
ConnectedFogArea = Standable or ClearFogJoin | |
MovesAgain = Coconut or Raft | |
Tongueable = Rock or Coconut or Present | |
Pullable = Coconut | |
StopsCoconut = Rock or Coconut or Present | |
StopsFrog = Rock | |
StopsTongue = Rock or Coconut or Present | |
_ = Background | |
. = Grass | |
@ = FrogU and Grass and FogCleared | |
c = Coconut and Grass | |
r = Rock and Grass | |
p = Present and Grass | |
s = Quicksave and Grass | |
- = Sand | |
? = FrogU and Sand and FogCleared | |
n = Coconut and Sand | |
k = Rock and Sand | |
q = Quicksave and Sand | |
o = Rock | |
u = CoconutInWater | |
l = Raft | |
f = FogSeed | |
/ = ClearFogExtra | |
& = ClearFogJoin | |
x = NoLand | |
======= | |
SOUNDS | |
======= | |
(CoconutInWater create 20016508) | |
(CoconutInWater create 44550904) | |
(CoconutInWater create 9876108) | |
(CoconutInWater create 72607108) | |
(CoconutInWater create 52615908) | |
CoconutSinking create 83489908 | |
PresentSinking create 44471908 | |
Player move 79293707 | |
Restart 22176702 | |
(Undo 45342901) | |
Undo 40378307 | |
ShowMessage 1322509 | |
CloseMessage 72487109 | |
StartGame 39572908 | |
( push coconut or shell ) | |
sfx0 1847907 | |
( coconut collides ) | |
sfx1 95572707 | |
( squat ) | |
sfx2 41282507 | |
( swap ) | |
sfx3 62791108 | |
( push big shell ) | |
sfx4 56565302 | |
( clear fog ) | |
sfx5 48142508 | |
( clear fog individual ) | |
sfx6 81707908 | |
( quick save ) | |
sfx10 74793103 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
ClearFogExtra, ClearFogJoin, NoLand | |
FogCleared, FogClearedBorder | |
Standable | |
CornerSUR, CornerGUR, CornerWUR | |
CornerSUL, CornerGUL, CornerWUL | |
CornerSDR, CornerGDR, CornerWDR | |
CornerSDL, CornerGDL, CornerWDL | |
Quicksave | |
Count | |
Frog, FrogSinking, Tongue, TongueExtending, TongueRetracting, TongueConnected, Coconut, CoconutSinking, Rock, Present, PresentSinking | |
CoconutDec | |
Fog, FogSeed | |
MoveToken | |
====== | |
RULES | |
====== | |
( Rotate frog ) | |
up [ > Frog ] -> [ > FrogU ] | |
down [ > Frog ] -> [ > FrogD ] | |
left [ > Frog ] -> [ > FrogL ] | |
right [ > Frog ] -> [ > FrogR ] | |
( Stop when you can't walk somewhere ) | |
[ > Frog | no Standable ] -> [ Frog | ] | |
[ > Frog | StopsFrog ] -> [ Frog | StopsFrog ] | |
( Put dots on coconuts ) | |
[ Coconut no CoconutDec ] -> [ Coconut CoconutDecULF ] | |
( Count down ) | |
[ Count1 ] -> [ Count0 ] | |
[ Count2 ] -> [ Count1 ] again | |
[ Count3 ] -> [ Count2 ] again | |
[ Count4 ] -> [ Count3 ] again | |
[ Count5 ] -> [ Count4 ] again | |
[ Count6 ] -> [ Count5 ] again | |
[ Count7 ] -> [ Count6 ] again | |
[ Count8 ] -> [ Count7 ] again | |
[ Count9 ] -> [ Count8 ] again | |
( Push coconuts ) | |
[ > Frog | stationary Coconut ] -> [ > Frog | > Coconut ] sfx0 | |
( Push present ) | |
[ > Frog | stationary Present ] -> [ > Frog | > Present ] sfx0 | |
( Keep movement from last turn ) | |
[ MovesAgain MoveU ] -> [ up MovesAgain ] | |
[ MovesAgain MoveD ] -> [ down MovesAgain ] | |
[ MovesAgain MoveL ] -> [ left MovesAgain ] | |
[ MovesAgain MoveR ] -> [ right MovesAgain ] | |
( Raft collides with raft ) | |
[ > Raft | Raft ] -> [ Raft | Raft ] | |
( Stop coconut if collided with raft ) | |
([ stationary Raft > Coconut ] -> [ Raft Coconut ]) | |
( Move coconut on raft ) | |
[ > Raft Coconut CoconutDec ] -> [ > Raft > Coconut > CoconutDec ] | |
( Move present on raft ) | |
[ > Raft Present ] -> [ > Raft > Present ] | |
( Raft collides with land ) | |
[ > Raft | Land ] -> [ Raft | Land ] | |
( Stop frog when pushing piece on raft ) | |
[ > Frog | > Coconut Raft ] -> [ Frog | > Coconut > Raft ] | |
[ > Frog | > Present Raft ] -> [ Frog | > Present > Raft ] | |
( Keep raft moving next turn ) | |
up [ > Raft | no Standable ] -> [ > Raft > MoveU | ] again | |
down [ > Raft | no Standable ] -> [ > Raft > MoveD | ] again | |
left [ > Raft | no Standable ] -> [ > Raft > MoveL | ] again | |
right [ > Raft | no Standable ] -> [ > Raft > MoveR | ] again | |
( Collided coconut takes on movement ) | |
[ > Coconut Standable | Coconut ] -> [ Coconut Standable | > Coconut ] again sfx1 | |
( Move present and stop coconut ) | |
[ > Coconut Standable | Present ] -> [ Coconut Standable | Present ] again sfx1 | |
( Stop a coconut ) | |
[ > Coconut Standable | StopsCoconut ] -> [ Coconut Standable | StopsCoconut ] sfx1 | |
( Coconut falls into water ) | |
[ CoconutSinking ] -> [ CoconutInWater ] | |
[ Coconut no Standable ] -> [ stationary CoconutSinking no CoconutDec ] again | |
( Keep coconut rolling next turn ) | |
up [ > Coconut | no StopsCoconut ] -> [ > Coconut > MoveU | ] again | |
down [ > Coconut | no StopsCoconut ] -> [ > Coconut > MoveD | ] again | |
left [ > Coconut | no StopsCoconut ] -> [ > Coconut > MoveL | ] again | |
right [ > Coconut | no StopsCoconut ] -> [ > Coconut > MoveR | ] again | |
( Coconut spots ) | |
up [ > Coconut stationary CoconutDecULF ] -> [ > Coconut > CoconutDecULB ] | |
up [ > Coconut stationary CoconutDecULB ] -> [ > Coconut > CoconutDecDLB ] | |
up [ > Coconut stationary CoconutDecDLB ] -> [ > Coconut > CoconutDecDLF ] | |
up [ > Coconut stationary CoconutDecDLF ] -> [ > Coconut > CoconutDecULF ] | |
up [ > Coconut stationary CoconutDecURF ] -> [ > Coconut > CoconutDecURB ] | |
up [ > Coconut stationary CoconutDecURB ] -> [ > Coconut > CoconutDecDRB ] | |
up [ > Coconut stationary CoconutDecDRB ] -> [ > Coconut > CoconutDecDRF ] | |
up [ > Coconut stationary CoconutDecDRF ] -> [ > Coconut > CoconutDecURF ] | |
down [ > Coconut stationary CoconutDecULF ] -> [ > Coconut > CoconutDecDLF ] | |
down [ > Coconut stationary CoconutDecDLF ] -> [ > Coconut > CoconutDecDLB ] | |
down [ > Coconut stationary CoconutDecDLB ] -> [ > Coconut > CoconutDecULB ] | |
down [ > Coconut stationary CoconutDecULB ] -> [ > Coconut > CoconutDecULF ] | |
down [ > Coconut stationary CoconutDecURF ] -> [ > Coconut > CoconutDecDRF ] | |
down [ > Coconut stationary CoconutDecDRF ] -> [ > Coconut > CoconutDecDRB ] | |
down [ > Coconut stationary CoconutDecDRB ] -> [ > Coconut > CoconutDecURB ] | |
down [ > Coconut stationary CoconutDecURB ] -> [ > Coconut > CoconutDecURF ] | |
left [ > Coconut stationary CoconutDecULF ] -> [ > Coconut > CoconutDecDLF ] | |
left [ > Coconut stationary CoconutDecDLF ] -> [ > Coconut > CoconutDecDRF ] | |
left [ > Coconut stationary CoconutDecDRF ] -> [ > Coconut > CoconutDecURF ] | |
left [ > Coconut stationary CoconutDecURF ] -> [ > Coconut > CoconutDecULF ] | |
left [ > Coconut stationary CoconutDecULB ] -> [ > Coconut > CoconutDecDLB ] | |
left [ > Coconut stationary CoconutDecDLB ] -> [ > Coconut > CoconutDecDRB ] | |
left [ > Coconut stationary CoconutDecDRB ] -> [ > Coconut > CoconutDecURB ] | |
left [ > Coconut stationary CoconutDecURB ] -> [ > Coconut > CoconutDecULB ] | |
right [ > Coconut stationary CoconutDecULF ] -> [ > Coconut > CoconutDecURF ] | |
right [ > Coconut stationary CoconutDecURF ] -> [ > Coconut > CoconutDecDRF ] | |
right [ > Coconut stationary CoconutDecDRF ] -> [ > Coconut > CoconutDecDLF ] | |
right [ > Coconut stationary CoconutDecDLF ] -> [ > Coconut > CoconutDecULF ] | |
right [ > Coconut stationary CoconutDecULB ] -> [ > Coconut > CoconutDecURB ] | |
right [ > Coconut stationary CoconutDecURB ] -> [ > Coconut > CoconutDecDRB ] | |
right [ > Coconut stationary CoconutDecDRB ] -> [ > Coconut > CoconutDecDLB ] | |
right [ > Coconut stationary CoconutDecDLB ] -> [ > Coconut > CoconutDecULB ] | |
( Stop frog ) | |
[ > Frog | stationary Coconut ] -> [ Frog | Coconut ] | |
( Extend tongue if room ) | |
up [ stationary TongueExtendingU | no StopsTongue ] -> [ TongueU | action TongueExtendingU ] again | |
down [ stationary TongueExtendingD | no StopsTongue ] -> [ TongueD | action TongueExtendingD ] again | |
left [ stationary TongueExtendingL | no StopsTongue ] -> [ TongueL | action TongueExtendingL ] again | |
right [ stationary TongueExtendingR | no StopsTongue ] -> [ TongueR | action TongueExtendingR ] again | |
( Extending tongue attaches ) | |
up [ stationary TongueExtendingU | StopsTongue ] -> [ action TongueConnectedU | StopsTongue ] again | |
down [ stationary TongueExtendingD | StopsTongue ] -> [ action TongueConnectedD | StopsTongue ] again | |
left [ stationary TongueExtendingL | StopsTongue ] -> [ action TongueConnectedL | StopsTongue ] again | |
right [ stationary TongueExtendingR | StopsTongue ] -> [ action TongueConnectedR | StopsTongue ] again | |
( Limit tongue length ) | |
up [ TongueU | TongueU | TongueU | action TongueExtendingU ] -> [ TongueU | TongueU | TongueU | stationary TongueExtendingU ] again | |
down [ TongueD | TongueD | TongueD | action TongueExtendingD] -> [ TongueD | TongueD | TongueD | stationary TongueExtendingD ] again | |
left [ TongueL | TongueL | TongueL | action TongueExtendingL ] -> [ TongueL | TongueL | TongueL | stationary TongueExtendingL ] again | |
right [ TongueR | TongueR | TongueR | action TongueExtendingR ] -> [ TongueR | TongueR | TongueR | stationary TongueExtendingR ] again | |
( Extending tongue reached edge of screen ) | |
[ stationary TongueExtendingU ] -> [ action TongueRetractingU ] again | |
[ stationary TongueExtendingD ] -> [ action TongueRetractingD ] again | |
[ stationary TongueExtendingL ] -> [ action TongueRetractingL ] again | |
[ stationary TongueExtendingR ] -> [ action TongueRetractingR ] again | |
( Retract unconnected tongue ) | |
up [ TongueU | stationary TongueRetractingU ] -> [ action TongueRetractingU | ] again | |
down [ TongueD | stationary TongueRetractingD ] -> [ action TongueRetractingD | ] again | |
left [ TongueL | stationary TongueRetractingL ] -> [ action TongueRetractingL | ] again | |
right [ TongueR | stationary TongueRetractingR ] -> [ action TongueRetractingR | ] again | |
( Finish retracting unconnected tongue ) | |
up [ FrogU | stationary TongueRetractingU ] -> [ FrogU | ] | |
down [ FrogD | stationary TongueRetractingD ] -> [ FrogD | ] | |
left [ FrogL | stationary TongueRetractingL ] -> [ FrogL | ] | |
right [ FrogR | stationary TongueRetractingR ] -> [ FrogR | ] | |
( Connect tongue to tongueable ) | |
up [ stationary TongueConnectedU | Tongueable Standable ] -> [ < TongueConnectedU | < Tongueable Standable ] | |
down [ stationary TongueConnectedD | Tongueable Standable ] -> [ < TongueConnectedD | < Tongueable Standable ] | |
left [ stationary TongueConnectedL | Tongueable Standable ] -> [ < TongueConnectedL | < Tongueable Standable ] | |
right [ stationary TongueConnectedR | Tongueable Standable ] -> [ < TongueConnectedR | < Tongueable Standable ] | |
( Rocks don't get pulled ) | |
[ > Rock ] -> [ Rock ] | |
( Coconuts and Presents on land don't get pulled ) | |
([ TongueConnected | < Coconut no Raft ] -> [ TongueConnected | Coconut ]) | |
([ TongueConnected | < Present no Raft ] -> [ TongueConnected | Present ]) | |
( Move raft under tongueable if possible ) | |
[ > Tongueable Raft | no Standable ] -> [ > Tongueable > Raft | ] | |
( Raft can't move ) | |
([ > Tongueable stationary Raft | TongueConnected ] -> [ Tongueable Raft | TongueConnected ]) | |
( Move dot with coconut ) | |
[ moving Coconut CoconutDec ] -> [ moving Coconut moving CoconutDec ] | |
[ stationary Coconut CoconutDec ] -> [ stationary Coconut stationary CoconutDec ] | |
( Move frog connected to piece that can't move ) | |
up [ FrogU | ... | < TongueConnectedU | stationary Tongueable ] -> [ > FrogU | ... | TongueConnectedU | Tongueable ] | |
down [ FrogD | ... | < TongueConnectedD | stationary Tongueable ] -> [ > FrogD | ... | TongueConnectedD | Tongueable ] | |
left [ FrogL | ... | < TongueConnectedL | stationary Tongueable ] -> [ > FrogL | ... | TongueConnectedL | Tongueable ] | |
right [ FrogR | ... | < TongueConnectedR | stationary Tongueable ] -> [ > FrogR | ... | TongueConnectedR | Tongueable ] | |
( Stop frog from being pulled into water ) | |
up [ > FrogU no Raft | no Standable ] -> [ FrogU | ] | |
down [ > FrogD no Raft | no Standable ] -> [ FrogD | ] | |
left [ > FrogL no Raft | no Standable ] -> [ FrogL | ] | |
right [ > FrogR no Raft | no Standable ] -> [ FrogR | ] | |
( Move raft under frog if possible ) | |
[ > Frog Raft | no Standable ] -> [ > Frog > Raft | ] | |
( Remove tongue section ) | |
up [ > FrogU | TongueU ] -> [ > FrogU | ] again | |
down [ > FrogD | TongueD ] -> [ > FrogD | ] again | |
left [ > FrogL | TongueL ] -> [ > FrogL | ] again | |
right [ > FrogR | TongueR ] -> [ > FrogR | ] again | |
( Finish pulling towards piece ) | |
up [ > FrogU | TongueConnectedU ] -> [ > FrogU | ] | |
down [ > FrogD | TongueConnectedD ] -> [ > FrogD | ] | |
left [ > FrogL | TongueConnectedL ] -> [ > FrogL | ] | |
right [ > FrogR | TongueConnectedR ] -> [ > FrogR | ] | |
( Frog sinking ) | |
[ > Frog no Standable | no TongueConnected no Standable ] -> again | |
( Retract tongue when neither frog nor connected piece can move ) | |
up [ stationary FrogU | ... | stationary TongueConnectedU ] -> [ FrogU | ... | TongueRetractingU ] again | |
down [ stationary FrogD | ... | stationary TongueConnectedD ] -> [ FrogD | ... | TongueRetractingD ] again | |
left [ stationary FrogL | ... | stationary TongueConnectedL ] -> [ FrogL | ... | TongueRetractingL ] again | |
right [ stationary FrogR | ... | stationary TongueConnectedR ] -> [ FrogR | ... | TongueRetractingR ] again | |
( Remove tongue section ) | |
up [ TongueU | < TongueConnectedU ] -> [ | < TongueConnectedU ] again | |
down [ TongueD | < TongueConnectedD ] -> [ | < TongueConnectedD ] again | |
left [ TongueL | < TongueConnectedL ] -> [ | < TongueConnectedL ] again | |
right [ TongueR | < TongueConnectedR ] -> [ | < TongueConnectedR ] again | |
( Finish pulling piece toward frog ) | |
up [ FrogU | < TongueConnectedU ] -> [ FrogU | ] | |
down [ FrogD | < TongueConnectedD ] -> [ FrogD | ] | |
left [ FrogL | < TongueConnectedL ] -> [ FrogL | ] | |
right [ FrogR | < TongueConnectedR ] -> [ FrogR | ] | |
( Start to extend tongue from frog ) | |
up [ action FrogU | no StopsTongue ] -> [ FrogU | TongueExtendingU ] again | |
down [ action FrogD | no StopsTongue ] -> [ FrogD | TongueExtendingD ] again | |
left [ action FrogL | no StopsTongue ] -> [ FrogL | TongueExtendingL ] again | |
right [ action FrogR | no StopsTongue ] -> [ FrogR | TongueExtendingR ] again | |
( Finish sinking ) | |
[ FrogSinking ] -> [ ] | |
[ PresentSinking ] -> [ ] | |
( Present sinks if it stops in water ) | |
[ > Present no Raft | no Standable ] -> again | |
[ stationary Present no standable ] -> [ PresentSinking ] again | |
( Frog sinks if it stops in water ) | |
[ stationary Frog no standable ] -> [ FrogSinking ] again | |
( Checkpoint ) | |
late [ Present Quicksave ] -> [ Present ] checkpoint sfx10 | |
[ Corner ] -> [ ] | |
( Water corners ) | |
up [ no Land | Land ] -> [ | up Land ] | |
left [ no Land | up Land ] -> [ | up Land CornerWDR ] | |
right [ no Land | up Land ] -> [ | up Land CornerWDL ] | |
down [ no Land | Land ] -> [ | down Land ] | |
left [ no Land | down Land ] -> [ | down Land CornerWUR ] | |
right [ no Land | down Land ] -> [ | down Land CornerWUL ] | |
[ moving Land ] -> [ Land ] | |
( Sand corners ) | |
up [ Sand | no Sand ] -> [ Sand | up Background ] | |
left [ Sand | up Background ] -> [ Sand | up Background CornerSDR ] | |
right [ Sand | up Background ] -> [ Sand | up Background CornerSDL ] | |
down [ Sand | no Sand ] -> [ Sand | down Background ] | |
left [ Sand | down Background ] -> [ Sand | down Background CornerSUR ] | |
right [ Sand | down Background ] -> [ Sand | down Background CornerSUL ] | |
[ moving Background ] -> [ Background ] | |
( Grass corners ) | |
up [ Grass | no Grass ] -> [ Grass | up Background ] | |
left [ Grass | up Background ] -> [ Grass | up Background CornerGDR ] | |
right [ Grass | up Background ] -> [ Grass | up Background CornerGDL ] | |
down [ Grass | no Grass ] -> [ Grass | down Background ] | |
left [ Grass | down Background ] -> [ Grass | down Background CornerGUR ] | |
right [ Grass | down Background ] -> [ Grass | down Background CornerGUL ] | |
[ moving Background ] -> [ Background ] | |
( Clean up ) | |
up [ CornerWUR | CornerSDR ] -> [ CornerWUR | ] | |
up [ CornerWUL | CornerSDL ] -> [ CornerWUL | ] | |
down [ CornerWDR | CornerSUR ] -> [ CornerWDR | ] | |
down [ CornerWDL | CornerSUL ] -> [ CornerWDL | ] | |
up [ CornerWUR | CornerGDR ] -> [ CornerWUR | ] | |
up [ CornerWUL | CornerGDL ] -> [ CornerWUL | ] | |
down [ CornerWDR | CornerGUR ] -> [ CornerWDR | ] | |
down [ CornerWDL | CornerGUL ] -> [ CornerWDL | ] | |
( Mark clear area around player ) | |
[ ConnectedFogArea FogCleared | ConnectedFogArea no FogCleared ] -> [ ConnectedFogArea FogCleared | ConnectedFogArea action FogCleared ] | |
[ ConnectedFogArea FogCleared | ClearFogExtra no FogCleared ] -> [ ConnectedFogArea FogCleared | ClearFogExtra action FogCleared ] | |
[ ClearFogExtra FogCleared | ClearFogExtra no FogCleared ] -> [ ClearFogExtra FogCleared | ClearFogExtra action FogCleared ] | |
( Extend border twice ) | |
[ action FogCleared | no FogCleared no FogClearedBorder ] -> [ action FogCleared | action FogClearedBorder ] | |
[ action FogClearedBorder | no FogCleared no FogClearedBorder ] -> [ action FogClearedBorder | FogClearedBorder ] | |
( SFX ) | |
[ Land action FogCleared Fog ] -> sfx5 | |
( Create starting fog ) | |
[ FogSeed | ] -> [ action FogFullA | action FogFullB ] | |
[ action FogFullB | no Fog no FogCleared no FogClearedBorder ] -> [ action FogFullB | action FogFullA no FogCleared ] | |
+ [ action FogFullA | no Fog no FogCleared no FogClearedBorder ] -> [ action FogFullA | action FogFullB no FogCleared ] | |
( Peel back fog ) | |
[ FogHalf FogCleared ] -> [ FogCleared ] again | |
[ FogHalf FogClearedBorder ] -> [ FogClearedBorder ] again | |
[ FogFullA | no Fog ] -> [ FogHalfA | ] | |
[ FogFullB | no Fog ] -> [ FogHalfB | ] | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
======= | |
__________________ | |
__________________ | |
__________________ | |
_______ooo________ | |
_______...________ | |
_______.@.________ | |
_______.r.________ | |
_______...________ | |
________lp________ | |
_______l__________ | |
_______...________ | |
_______pr.________ | |
_______...________ | |
_______...________ | |
_______ooo________ | |
__________________ | |
__________________ | |
__________________ | |
__________________ | |
(__________________ | |
__________________ | |
_____..___________ | |
_____.c......_____ | |
_____...p..c._____ | |
_____......___.@__ | |
_____.._____....__ | |
_____.._.___._____ | |
________..________ | |
_______.......____ | |
_______.....r.____ | |
_______.......____ | |
_______...._______ | |
___________s______ | |
___________.._____ | |
________....._____ | |
________....______ | |
________....______ | |
__________________ | |
__________________ | |
__________________ | |
__________________ | |
________..________ | |
________rc________ | |
_________._.._____ | |
________.._c._____ | |
________r...._____ | |
[email protected]._____ | |
________....______ | |
__________________ | |
_________.________ | |
________..._______ | |
__________________ | |
__________________ | |
__________________ | |
__________________ | |
__________________ | |
__________________) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment