globals:
var bombtimer=0;
var bombs=0;
var sharks=0;
var fish=0;
var plants=0;
gametitle: Flush the fish
gamedesc:
Flush all the goldfish to the bottom,
but don't let them get eaten by sharks!
Use cursor keys to move.
Press , or . to throw a bomb.
tilemap: sharktiles.png
empty: .
cell: - 0 - false
cell: ~ 1 - false
cell: % 5 - false
cell: # 4 - false
cell: B 8 - false
cell: X 9 - false
cell: S 3 - false
cell: F 2 - false
cell: @ 10 - false
cell: ^ 6 - false
cell: P 7 - false
rule: waterfall
. . . . . .
. ~ . . - .
. - . . ~ .
delay: 1 priority: 3
rule: waterflow
. . . . . .
. ~ - . - ~
. !- . . . .
transform: MIRX
delay: 1 probability: 0.9
outdir:
- - -
- - R
- - -
rule: waterflowdir
. . . . . .
. ~ - . - ~
. !- . . . .
transform: MIRX
priority: 2 delay: 1 probability: 0.9
conddir: R
outdir:
- - -
- - R
- - -
rule: waterpushshark
. . . . . .
~ S - - ~ S
. . . . . .
priority: 9 delay: 1
transform: MIRX
rule: waterpushfish
. . . . . .
~ F - - ~ F
. . . . . .
priority: 9 delay: 1
transform: MIRX
rule: waterflush
. . . . . .
. ~ . . - .
. ^ . . . .
priority: 10
rule: playerswim
. @ ~ . ~ @
condfunc: playerdir("right")
transform: rot4
rule: playerwalk
. . . . . .
. @ - . - @
. #%~P . . . .
condfunc: playerdir("right")
transform: mirx
rule: playerclimb
. - - . . @
. @ #%P . - .
. . . . . .
condfunc: playerdir("right")
transform: mirx
rule: playerfall
. . . . . .
. @ . . - .
. - . . @ .
priority: 2 delay: 2
rule: playerfallwater
. . . . . .
!~FP @ !~FP . ~ .
. ~ . . @ .
priority: 2
rule: playerbomb_l
-~ @ . B . .
condfunc: bombs==0 && keypress(",")
outfunc:
bombs=1;
bombtimer=12;
rule: playerbomb_r
. @ -~ . . B
condfunc: bombs==0 && keypress(".")
outfunc:
bombs=1;
bombtimer=12;
rule: fishmove
. F ~ . ~ F
transform: ROT4
rule: fishfall
. . . . . .
. F . . - .
. - . . F .
priority: 10 delay: 1
rule: fishflee
. . . . . .
!~ F - . - F
. !-~ . . . .
delay: 1
transform: mirx
outdir:
- - -
- - R
- - -
rule: fishfleedir
. . . . . .
!~ F - . - F
. !-~ . . . .
conddir: R
priority: 2 delay: 1 probability: 0.9
transform: mirx
outdir:
- - -
- - R
- - -
rule: fishflush
. . . . . .
. F . . - .
. ^ . . . .
outfunc: fish--
priority: 10
rule: sharkmove
. S ~ . ~ S
transform: ROT4
rule: sharkfall
. . . . . .
. S . . - .
. - . . S .
priority: 10 delay: 1
rule: sharkflee
. . . . . .
!~ S - . - S
. !-~ . . . .
delay: 1
transform: mirx
outdir:
- - -
- - R
- - -
rule: sharkfleedir
. . . . . .
!~ S - . - S
. !-~ . . . .
conddir: R
priority: 2 delay: 1 probability: 0.9
transform: mirx
outdir:
- - -
- - R
- - -
rule: sharkflush
. . . . . .
. S . . - .
. ^ . . . .
outfunc: sharks--
priority: 10
rule: sharkeatfish1
. . . . . .
. S F . ~ S
. . . . . .
transform: rot4
priority: 11
delay: 1
outfunc: lose()
rule: sharkeatfish2
. . F . . S
. S . . ~ .
. . . . . .
transform: rot4
delay: 1
priority: 11
outfunc: lose()
rule: sharkeatplayer
. . . . . .
. S @ . - S
. . . . . .
transform: rot4
priority: 11
delay: 1
outfunc: lose()
rule: bombfall
. . . . . .
. B . . - .
. -~ . . B .
priority: 2
delay: 2
rule: bombbounce
. . . . . .
. B -~ . - B
. #%P -~ . . .
transform: mirx
priority: 2
delay: 2
rule: bombtick
. B . . . .
condfunc: bombtimer>0
outfunc: bombtimer--
rule: bombexplode
. B . . X .
condfunc: bombtimer<=0
outfunc: bombs=0;
priority: 10 delay: 1
rule: doexplode1
. # X . - .
delay: 1
transform: rot4
rule: doexplode2
. . . . . .
. # . . - .
. . X . . .
delay: 1
transform: rot4
rule: endexplode
. X . . - .
delay: 2
rule: plantgrow
. P ~ . P P
delay: 24 probability: 0.125
transform: rot4
outfunc: plants++
rule: fisheatplant
. F P . ~ F
transform: rot4
priority: 9
outfunc: plants--
level: #
#------------------------------#
#~~~~~~~F~~~~~~@~~~~~F~~~~~~~~~#
#F~~~~F~~~F~~~~~~~~~~~~~~~F~~~~#
#~~~~~~~~F~~~~~~~~F~~~~~F~~~~F~#
################################
--------------------------------
%-------%----------------------%
%-------%----------------------%
%-------%~~~~S~~~~~~~~~~~S~S~~~%
%-------%S~~~~~~S~~~S~~~~~~~S~S%
%-------%%%%%%%%%%%%%%%%%%%%%%%%
#------------------------------#
#------------------------------#
#------------------------------#
################################
--------------------------------
%----------------------%--------
%----------------------%--------
%~~~~S~S~~~~~S~~~~S~~S~%--------
%~S~~~S~~~S~~~~S~~~S~~~%--------
%%%%%%%%%%%%%%%%%%%%%%%%--------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title: Zig Zag
init:
bombs=0;
bombtimer=0;
fish=10
win:
fish<=0
level: #
#--------------@---------------#
#~~~~~~~F~~~########~F~~~~~~~~~#
#F~~~~F~~~F~##----##~~~~~~F~~~~#
#~~~~~~~~F~~##----##~~~~F~~~~F~#
#~~~~~~~~~~~##----##~~~~~~~~~~~#
#~~~~~~~~~~~##----##~~~~~~~~~~~#
#~~~F~~~~~~~##----##~~~F~~~F~~~#
##############----##############
--------------------------------
--------------------------------
%-------%--------------%-------%
%-------%--------------%-------%
%~S~~S~S%--------------%~S~S~~~%
%~~S~~~~%--------------%~~~~S~S%
%%%%%%%%%##############%%%%%%%%%
--------------------------------
%-----------%------%-----------%
%-----------%------%-----------%
%~~~~S~S~~~~%------%~S~~~~S~~S~%
%~S~~~S~~~S~%------%~~~S~~~S~~~%
%%%%%%%%%%%%%------%%%%%%%%%%%%%
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title: Drill Straight Down
init:
bombs=0;
bombtimer=0;
fish=12;
win:
fish<=0
level: #
#~F~~~#~~~@~~#~~~~#~~~~~~#~F~~F#
#~~~F~#~~~~~~#~~~~#~~~~~~#~~~~~#
#F~~~~#~~~~~~#~~~~#~~~~~~#~~F~~#
##############~~~~##############
-----------##########-----------
------------#------#------------
------------#------#------------
#-----------########-----------#
#-----------#------#-----------#
#-----------#------#-----------#
#########%%%%%%##%%%%%%#########
--------------------------------
--------------------------------
%---------%----------%---------%
%---------%----------%---------%
%~~~~~S~~~%----------%S~~~~S~~~%
%~S~~S~~S~%----------%~~~S~~~S~%
%%%%%%%%%%%##########%%%%%%%%%%%
--------------------------------
--------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title: Swimming pools
desc:
Hint: you cannot climb walls,
but you can move freely in water.
init:
bombs=0;
bombtimer=0;
fish=6;
win:
fish<=0
level: #
---------------@----------------
---------------##---------------
--------------#--#--------------
-------------#----#-------------
------------#------#------------
-----------#--------#-----------
--------------------------------
----------#----------##---------
---------#-#--------#--#--------
--------#---#------#----#-------
-------#-----------------#------
--------------------------------
---#~~~~#-#~~~~##~~~~#-#~~~~#---
---#~F~~#-#~~~F##~~~~#-#F~~~#---
---#~~~F#-#~~~~##~S~~#-#~~F~#---
---#~~~~#-#~~F~##S~~~#-#~~~~#---
----####---####--####---####----
-#----------------------------#-
-#----------------------------#-
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~#-
--##%%%%%%%%%%%%%%%%%%%%%%%%##--
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title: Stairways
desc:
Hint: bombs will bounce down ledges.
init:
bombs=0;
bombtimer=0;
fish=6;
win:
fish<=0
level: #
#------------------@-----------%
#~~~~~~~~~~~~~~~~~~%~~F~~F~~F~~%
#~~~~~~~~~~~~~~~~~%%%F~~F~~~F~~%
#################%%%%%########%%
----------%-------------------%%
----------%------------------%%%
----------%--------%---------%%%
----------%--------%---------%%%
----------%~P~P~P~P%P~P~P~P~P%%%
----------%%%####%%%%%#######%%%
--------------------------------
--------------------------------
%---------%%-------------------#
%---------%%-------------------#
%S~~~~S~~~PP-------------------#
%####%##########################
%----%-------------------------%
%----%---------###-------------%
%----%-P-----P-###P---P---P----%
%----%#########################%
%%%%%%--------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title: Eat the plants
desc:
You must make the fish eat all the plants
to finish this level.
init:
bombs=0;
bombtimer=0;
fish=6;
plants=14;
win:
fish<=0 && plants<=0