title BeamishIslands testing
author mjau
run_rules_on_level_start
realtime_interval 0.3

( for ludum dare 29 )

=========
    OBJECTS
=========

BgNW1 .
#6719ac #a13cb7
00000
00000
00000
00000
00000


Player
#f7e26b #000000
01010
.000.
.0.0.
.....
.....

Island #
#000000


PlayerIsland
#078ffd
.....
.....
..0..
.....
.....

BlockIsland
#df2619
.....
.....
..0..
.....
.....


Bridge -
#000000 #a27d5b
.....
.111.
.101.
.111.
.000.


========
    LEGEND
========

@ = Player and Island

Background = BgNW1
Movable = Player or Island or PlayerIsland
MoveBlock = Island or Bridge


========
    SOUNDS
========


=================
    COLLISIONLAYERS
=================

Background
Island, Bridge
Player
PlayerIsland, BlockIsland

=======
    RULES
=======


( player island )
(use RIGHT in the rules only to reduce the number of rules that are updated)
RIGHT [ Player Island ] -> [ Player Island PlayerIsland ]
down  [ PlayerIsland | Island ] -> [ PlayerIsland | Island PlayerIsland ]

( rigid movement )
LEFT [ > Player ][ PlayerIsland ] -> [ > Player ][ > PlayerIsland ]
LEFT [ > PlayerIsland Island  | no MoveBlock ] -> [ > PlayerIsland > Island | ]
RIGHT [ < Island  | Island no BlockIsland ] -> [ < Island | < Island ]
RIGHT [ stationary Island PlayerIsland ][ moving Player ] -> [ Island PlayerIsland ][ stationary Player ]

(This is the tricky rule: )
DEBUGGER RIGHT [ stationary Island PlayerIsland ][ LEFT Movable DEBUGGER ]  -> [ Island stationary PlayerIsland ][ stationary Movable ]

===============
    WINCONDITIONS
===============

========
    LEVELS
========

.@
-#