home *** CD-ROM | disk | FTP | other *** search
- -- Duck and Cover
- -- A level for Enigma
- -- Copyright (c) 2002 Nat Pryce
- -- License: GPL v2.0 or above
-
- create_world( 20, 13 )
- oxyd_default_flavor = "c" -- Default flavor for oxyd stones.
-
-
- fill_floor( "fl-rough", 0,0, level_width, level_height )
- draw_border( "st-glass")
- draw_stones( "st-glass", {2,1}, {0,1}, level_height-2 )
- draw_stones( "st-glass", {level_width-3,1}, {0,1}, level_height-2 )
-
- lasers = {}
-
- function next_laser_name()
- return "laser" .. getn(lasers)
- end
-
- function create_laser( x, y, dir )
- name = next_laser_name()
- set_stone( "st-laser", x, y, {on=TRUE, dir=dir, name=name} )
- tinsert( lasers, name )
- end
-
- for y = 1,level_height-2 do
- create_laser( 1, y, EAST )
- create_laser( level_width-2, y, WEST )
- end
-
- set_stone( "st-brownie", 8, 6 )
- set_stone( "st-brownie", 11, 6 )
- set_stone( "st-brownie", 9, 4 )
- set_stone( "st-brownie", 10, 4 )
- set_stone( "st-brownie", 9, 8 )
- set_stone( "st-brownie", 10, 8 )
-
-
- function toggle_laser( name )
- enigma.SendMessage( enigma.GetNamedObject(name), "onoff", nil )
- end
- function timer_handler()
- for i = 1, getn(lasers) do
- toggle_laser( lasers[i] )
- end
- end
- set_stone( "st-timer", 0, 6,
- {action="callback", target="timer_handler", interval=4} )
-
-
- for x = 4, 8, 2 do
- oxyd( x, 0 )
- oxyd( level_width-(x+1), 0 )
- oxyd( x, level_height-1 )
- oxyd( level_width-(x+1), level_height-1 )
- end
- oxyd_shuffle()
-
- set_actor("ac-blackball", level_width/2.0, level_height/2.0, {player=0})
-
-