home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
duffy25.lua
< prev
next >
Wrap
Text File
|
2003-08-27
|
4KB
|
110 lines
levelw=100
levelh=20
create_world( levelw, levelh)
fill_floor("fl-leaves", 0,0,levelw,levelh)
function renderLine( line, pattern)
for i=1, strlen(pattern) do
local c = strsub( pattern, i, i)
if c =="#" then
set_stone( "st-greenbrown", i-1, line)
elseif c == "o" then
oxyd( i-1, line)
elseif c == "!" then
-- abyss(i-1,line)
fill_floor("fl-water", i-1,line, 1,1)
elseif c == "s" then
set_stone("st-stoneimpulse", i-1,line)
fill_floor("fl-water", i-1,line, 1,1)
elseif c=="z" then
set_actor("ac-blackball", i-.5,line+.5, {player=0})
set_item("it-yinyang", i-1, line+.5)
elseif c=="y" then
set_actor("ac-whiteball", i-.5,line+.5, {player=1})
set_item("it-yinyang", i-1, line+.5)
elseif c=="+" then
set_stone( "st-wood", i-1, line)
fill_floor("fl-leaves", i-1,line, 1,1)
elseif c==":" then
fill_floor("fl-space", i-1,line, 1,1)
elseif c=="=" then
fill_floor("fl-leaves", i-1,line, 1,1)
elseif c=="S" then
set_stone( "st-swap", i-1, line)
elseif c=="*" then
set_stone( "st-greenbrown", i-1, line)
fill_floor("fl-water", i-1,line, 1,1)
elseif c == "R" then
puzzle(i-1,line,PUZ_0100)
elseif c == "L" then
puzzle(i-1,line,PUZ_0001)
elseif c == "Q" then
puzzle(i-1,line,PUZ_0011)
elseif c == "U" then
puzzle(i-1,line,PUZ_1100)
elseif c=="g" then
draw_stones("st-grate1",{i-1,line}, {1,1}, 1)
elseif c=="A" then
doorv(i-1,line,{name="door1"})
elseif c=="B" then
doorv(i-1,line,{name="door2"})
elseif c=="E" then
doorv(i-1,line,{name="door3"})
elseif c=="F" then
doorv(i-1,line,{name="door4"})
elseif c=="I" then
fill_floor("fl-inverse", i-1,line, 1,1)
elseif c=="D" then
set_stone("st-floppy", i-1, line, {action="openclose", target="door2"})
elseif c=="d" then
set_item("it-floppy", i-1, line)
elseif c=="C" then
set_stone("st-key_a", i-1, line, {action="openclose", target="door1"})
elseif c=="c" then
set_item("it-key_a", i-1 ,line)
elseif c == "b" then
yy1( "black", i-1, line)
elseif c == "w" then
yy1( "white", i-1, line)
elseif c == "X" then
draw_stones("st-yinyang1", { i-1,line}, {0,1},1)
elseif c=="P" then
set_item("it-brush",i-1,line)
elseif c=="p" then
draw_stones("st-stonebrush", {i-1,line}, {1,0},1)
elseif c=="e" then
set_stone("st-switch", i-1,line, {action="openclose",target="door3"})
elseif c=="f" then
set_stone("st-switch", i-1,line, {action="openclose",target="door4"})
elseif c=="l" then
oneway(i-1,line, enigma.WEST)
end
end
end
function yy1( color, x, y)
stone = format( "st-%s4", color)
set_stone( stone, x, y)
end
-- Floor: " "
-- Border: "#"
-- Oxyd: "o"
renderLine(00,"##################################################sssss###")
renderLine(01,"# bbXbXbXb XXXXXdX# D# #!!!!!!!!!!!s!!!s !#")
renderLine(02,"# #bwbwbw# XbXw XX# ### + + + + #!!!!!!!!!!!sss !#")
renderLine(03,"# #bwbwbw# XX XXbX#X # #bbb#!!!! !!!* !! #")
renderLine(04,"#z #bwbwbw# XwXb XX#w# # #!!!!!!##wwb#!!!! !!!! !!! !! #")
renderLine(05,"# #bwbwbw# XX XXwX#X#X##w##!#!#!##RQ # ! !* !! #")
renderLine(06,"# #bwbwbw# XbXw X AB #!X!X!X## UL + !!! !!!!! !! #")
renderLine(07,"# #bwbwbw# XX XXbX#X#X##b#!#!#!### # ! !!! !!!!!*!! #")
renderLine(08,"#y #bwbwbw# XwXb XX#b# # #!!!!!!##bbw#!!!! !!! *!!!! #")
renderLine(09,"# #bwbwbw# XX XXwX#X # #www#!!* !!! #")
renderLine(10,"# #bwbwbw# XbXw XX# ### + + + #!!!!!!!!*! !!!#b#w#")
renderLine(11,"# wXwXwXww XX XXcX# C# #!!!!!!!!!!*!!!#o#o#")
renderLine(12,"##########################################################")
oxyd_shuffle()