home *** CD-ROM | disk | FTP | other *** search
- -- Door Maze
- -- (c) 2003 by Immanuel Herrmann
- -- Licensed under GPL v2.0 or above
-
-
- levelw = 20
- levelh = 13
-
- create_world(levelw, levelh)
- enigma.ConserveLevel = FALSE
-
- oxyd_default_flavor = "a"
-
- fill_floor("fl-bluegray", 0, 0, levelw, levelh)
-
- zaehler = 1
-
- function tuer(x, y, ri)
- set_floor( "fl-bluegreen", x, y)
- set_stone( "st-bolder", x, y, {direction=ri, name="tuer"..strsub("dcbae",zaehler, zaehler)})
- zaehler = zaehler + 1
- end
-
-
- function kabel(x, y, co)
- set_stone( "st-puzzle", x, y, {connections = co})
- end
-
-
-
-
- function renderLine( y, pattern)
- for x=0, strlen(pattern) - 1 do
- local c = strsub( pattern, x + 1, x + 1)
- if c =="#" then
- set_stone( "st-rock2", x, y)
- elseif c == "o" then
- oxyd( x, y)
- elseif c == "s" then
- set_actor("ac-blackball", x+0.5, y+0.5, {player=0})
-
- elseif c == "-" then
- kabel(x, y, 6)
- elseif c == "|" then
- kabel(x, y, 11)
- elseif c == "`" then
- kabel(x, y, 13)
- elseif c == "'" then
- kabel(x, y, 10)
- elseif c == "," then
- kabel(x, y, 7)
- elseif c == "." then
- kabel(x, y, 4)
- elseif c == "+" then
- kabel(x, y, 16)
- elseif c == ":" then
- set_stone( "st-puzzle", x, y, {connections = 1})
- --set_stone("st-grate1", x, y)
- elseif c == "~" then
- set_stone("st-grate1", x, y)
-
- elseif (c >= "A" and c <= "E") or (c >= "a" and c <= "e") then
- set_item("it-trigger", x, y, {action="callback", target="tt"..c})
- elseif c == "t" then
- set_floor( "fl-bluegreen", x, y)
- elseif c == "^" then
- tuer(x, y, NORTH)
- elseif c == ">" then
- tuer(x, y, EAST)
- elseif c == "v" then
- tuer(x, y, SOUTH)
- elseif c == "<" then
- tuer(x, y, WEST)
- elseif c == "" then
- set_stone( "", x, y)
- elseif c == "" then
- set_stone( "", x, y)
- elseif c == "" then
- set_stone( "", x, y)
- end
- end
- end
-
- renderLine( 0, "####,------.########")
- renderLine( 1, "# D# | C.")
- renderLine( 2, "# ## # # # `:.## ##|")
- renderLine( 3, ",ao,:-:-:-t<t'o# |")
- renderLine( 4, "| #|s,:. # # ,t>t-:'")
- renderLine( 5, "| e: t | B #E: # # #")
- renderLine( 6, "|,+'#v#|,' ||#,t<t.")
- renderLine( 7, "|dt t `+b# || : # |")
- renderLine( 8, "|#v# `:-'c-:+' | |")
- renderLine( 9, "| t # : |###|")
- renderLine(10, "|~`---------'##| |")
- renderLine(11, "| ~ : #A'")
- renderLine(12, "`--------------'####")
-
- --renderLine( 0, ",------------------.")
- --renderLine( 1, "| D------. C|")
- --renderLine( 2, "| ## # `:.## ,'|")
- --renderLine( 3, "`ao,:-:-:-t<t'o# : |")
- --renderLine( 4, "# #|s,:. # # ,t>t' |")
- --renderLine( 5, "# e: t | B #E: ,:-:'")
- --renderLine( 6, "#,+'#v#|,' ||#`t<t.")
- --renderLine( 7, "#dt t `+b# || # |")
- --renderLine( 8, "##v# `:-'c-:+' # |")
- --renderLine( 9, "# t # : ####|")
- --renderLine(10, "# `---------'## #|")
- --renderLine(11, "# # A'")
- --renderLine(12, "####################")
-
-
-
-
-
- function tuer_bewegen(tnr, ri)
- enigma.SendMessage(enigma.GetNamedObject("tuer"..tnr), "direction", ri);
- end
-
-
- -- Groâ–€buchstabe bewegt nach west / nord...
-
- function ttA()
- tuer_bewegen("a", WEST)
- end
- function tta()
- tuer_bewegen("a", EAST)
- end
- function ttB()
- tuer_bewegen("b", NORTH)
- end
- function ttb()
- tuer_bewegen("b", SOUTH)
- end
- function ttC()
- tuer_bewegen("c", WEST)
- end
- function ttc()
- tuer_bewegen("c", EAST)
- end
- function ttD()
- tuer_bewegen("d", WEST)
- end
- function ttd()
- tuer_bewegen("d", EAST)
- end
- function ttE()
- tuer_bewegen("e", NORTH)
- end
- function tte()
- tuer_bewegen("e", SOUTH)
- end
-