<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<el:level xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://enigma-game.org/schema/level/1 level.xsd" xmlns:el="http://enigma-game.org/schema/level/1">
  <el:protected>
    <el:info el:type="level">
      <el:identity el:title="esprit 81" el:subtitle="esprit 81" el:id="ss_esp81"/>
      <el:version el:score="1" el:release="1" el:revision="0" el:status="released"/>
      <el:author  el:name="Sven Siggelkow" el:email="" el:homepage=""/>
      <el:copyright>Copyright © 2003 Sven Siggelkow</el:copyright>
      <el:license el:type="GPL v2.0 or above" el:open="true"/>
      <el:compatibility el:enigma="0.92">
      </el:compatibility>
      <el:modes el:easy="false" el:single="true" el:network="false"/>
      <el:comments>
        <el:code>Lua 5.1 and XML converted by Leveladministrators</el:code>
      </el:comments>
      <el:score el:easy="-" el:difficult="-"/>
    </el:info>
    <el:luamain><![CDATA[
levelw = 39
levelh = 21
create_world(levelw, levelh)
display.SetFollowMode(display.FOLLOW_SCROLLING)
oxyd_default_flavor = "a"
set_actor("ac-blackball", 1.5,1.5)
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-brick", i-1,line)
      elseif c=="." then
         set_item("it-extralife",i-1,line)
      elseif c=="~" then
         set_item("it-crack0",i-1,line)
      elseif c=="1" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s1"})
      elseif c=="2" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s2"})
      elseif c=="3" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s3"})
      elseif c=="4" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s4"})
      elseif c=="5" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s5"})
      elseif c=="6" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s6"})
      elseif c=="7" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s7"})
      elseif c=="8" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s8"})
      elseif c=="9" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s9"})
      elseif c=="0" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s0"})
      elseif c=="A" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="sA"})
      elseif c=="B" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="sB"})
      elseif c=="C" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="sC"})
      elseif c=="D" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="sD"})
      elseif c=="E" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="sE"})
      elseif c=="<" then
         set_stone("st-oneway_black-w",i-1,line)
      elseif c==">" then
         set_stone("st-oneway_black-e",i-1,line)
      elseif c=="v" then
         set_stone("st-oneway_black-s",i-1,line)
      elseif c=="^" then
         set_stone("st-oneway_black-n",i-1,line)
      elseif c=="O" then
     oxyd(i-1,line)         
        end
    end  
end
--               012345678901234567890123456789012345678
renderLine(00 , "#######################################")
renderLine(01 , "#     ##     ##         ##     ##     #")
renderLine(02 , "#     ##     ##         ##     ##     #")
renderLine(03 , "#  1  ><  2  ><    3    ><  4  ><  5~ #")
renderLine(04 , "#     ##     ##         ##  ~  ##     #")  
renderLine(05 , "#     O#  ~  #O         #O     ##     #")
renderLine(06 , "###v######v########v########v######v###")
renderLine(07 , "###^######^########^########^######^###")
renderLine(08 , "#     ##     ##         ##     ##     #")
renderLine(09 , "#  ~  ## ~   ##         ##     ##     #")
renderLine(10 , "#  6  ><  7  ><    8    ><  9~ ><  0  #")
renderLine(11 , "#     ##     ##         ##     ##   ~ #")
renderLine(12 , "#     ##     O#         O#     ##     #") 
renderLine(13 , "###v######v########v########v######v###")
renderLine(14 , "###^######^########^########^######^###")
renderLine(15 , "#    .##     #O         ##     ##     #")
renderLine(16 , "#     ## ~   ##   ~     ##     ##     #")
renderLine(17 , "#  A  ><  B  ><    C    ><  D  ><  E  #")  
renderLine(18 , "#     ##     ##         ##   ~ ##     #")
renderLine(19 , "#     O#     ##         ##.    #O     #")
renderLine(20 , "#######################################")
--               012345678901234567890123456789012345678
                               
-- var        1 2 3 4 5 6 7 8 9 0 A B C D E 
local flag = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
-- I          1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 


function s1()                               
flag[1] = flag[1] + 1
if flag[1] == 4 then flag[1] = 0 end 
if flag[1] == 0 then
    set_stone("st-oneway_black-w", 7,3)
    set_stone("st-oneway_black-n", 3,7)
 elseif flag[1] == 1 then
    set_stone("st-oneway_black-e", 7,3)
    set_stone("st-oneway_black-n", 3,7)
 elseif flag[1] == 2 then
    set_stone("st-oneway_black-w", 7,3)
    set_stone("st-oneway_black-s", 3,7)
 elseif flag[1] == 3 then
    set_stone("st-oneway_black-w", 7,3)
    set_stone("st-oneway_black-n", 3,7)
 end
end                              
 
function s2()                               
flag[2] = flag[2] + 1
if flag[2] == 4 then flag[2] = 0 end
if flag[2] == 0 then
    set_stone("st-oneway_black-w", 14,3)
    set_stone("st-oneway_black-n", 10,7)
    set_stone("st-oneway_black-e", 6 ,3)
 elseif flag[2] == 1 then
    set_stone("st-oneway_black-e", 14,3)
    set_stone("st-oneway_black-n", 10,7)
    set_stone("st-oneway_black-e", 6 ,3)
 elseif flag[2] == 2 then
    set_stone("st-oneway_black-w", 14,3)
    set_stone("st-oneway_black-s", 10,7)
    set_stone("st-oneway_black-e", 6 ,3)
 elseif flag[2] == 3 then
    set_stone("st-oneway_black-w", 14,3)
    set_stone("st-oneway_black-n", 10,7)
    set_stone("st-oneway_black-w", 6 ,3)   
 end
end 

function s3()                               
flag[3] = flag[3] + 1
if flag[3] == 4 then flag[3] = 0 end
if flag[3] == 0 then
    set_stone("st-oneway_black-w", 25,3)
    set_stone("st-oneway_black-n", 19,7)
    set_stone("st-oneway_black-e", 13,3)
 elseif flag[3] == 1 then
    set_stone("st-oneway_black-e", 25,3)
    set_stone("st-oneway_black-n", 19,7)
    set_stone("st-oneway_black-e", 13,3)
 elseif flag[3] == 2 then
    set_stone("st-oneway_black-w", 25,3)
    set_stone("st-oneway_black-s", 19,7)
    set_stone("st-oneway_black-e", 13,3)
 elseif flag[3] == 3 then
    set_stone("st-oneway_black-w", 25,3)
    set_stone("st-oneway_black-n", 19,7)
    set_stone("st-oneway_black-w", 13,3)   
 end
end 

function s4()                               
flag[4] = flag[4] + 1
if flag[4] == 4 then flag[4] = 0 end
if flag[4] == 0 then
    set_stone("st-oneway_black-w", 32,3)
    set_stone("st-oneway_black-n", 28,7)
    set_stone("st-oneway_black-e", 24,3)
 elseif flag[4] == 1 then
    set_stone("st-oneway_black-e", 32,3)   
    set_stone("st-oneway_black-n", 28,7)   
    set_stone("st-oneway_black-e", 24,3)   
 elseif flag[4] == 2 then
    set_stone("st-oneway_black-w", 32,3)
    set_stone("st-oneway_black-s", 28,7)
    set_stone("st-oneway_black-e", 24,3)
 elseif flag[4] == 3 then
    set_stone("st-oneway_black-w", 32,3)
    set_stone("st-oneway_black-n", 28,7)
    set_stone("st-oneway_black-w", 24,3)   
 end
end 

function s5()                               
flag[5] = flag[5] + 1
if flag[5] == 4 then flag[5] = 0 end
if flag[5] == 0 then
    set_stone("st-oneway_black-n", 35,7)
    set_stone("st-oneway_black-e", 31,3)
 elseif flag[5] == 1 then
    set_stone("st-oneway_black-n", 35,7)
    set_stone("st-oneway_black-e", 31,3)
 elseif flag[5] == 2 then
    set_stone("st-oneway_black-s", 35,7)
    set_stone("st-oneway_black-e", 31,3)
 elseif flag[5] == 3 then
    set_stone("st-oneway_black-n", 35,7)
    set_stone("st-oneway_black-w", 31,3)   
 end
end 

function s6()                               
flag[6] = flag[6] + 1
if flag[6] == 4 then flag[6] = 0 end
if flag[6] == 0 then
    set_stone("st-oneway_black-n", 3,6 )
    set_stone("st-oneway_black-w", 7,10)
    set_stone("st-oneway_black-n", 3,14)
 elseif flag[6] == 1 then
    set_stone("st-oneway_black-s", 3,6 )
    set_stone("st-oneway_black-e", 7,10)
    set_stone("st-oneway_black-n", 3,14)
 elseif flag[6] == 2 then
    set_stone("st-oneway_black-s", 3,6 )
    set_stone("st-oneway_black-w", 7,10)
    set_stone("st-oneway_black-s", 3,14)
 elseif flag[6] == 3 then
    set_stone("st-oneway_black-s", 3,6 )
    set_stone("st-oneway_black-w", 7,10)
    set_stone("st-oneway_black-n", 3,14)
 end
end 

function s7()                               
flag[7] = flag[7] + 1
if flag[7] == 4 then flag[7] = 0 end
if flag[7] == 0 then
    set_stone("st-oneway_black-n", 10,6 )
    set_stone("st-oneway_black-w", 14,10)
    set_stone("st-oneway_black-n", 10,14)
    set_stone("st-oneway_black-e",  6,10)
 elseif flag[7] == 1 then
    set_stone("st-oneway_black-s", 10,6 )
    set_stone("st-oneway_black-e", 14,10)
    set_stone("st-oneway_black-n", 10,14)
    set_stone("st-oneway_black-e",  6,10)
 elseif flag[7] == 2 then
    set_stone("st-oneway_black-s", 10,6 )
    set_stone("st-oneway_black-w", 14,10)
    set_stone("st-oneway_black-s", 10,14)
    set_stone("st-oneway_black-e",  6,10)
 elseif flag[7] == 3 then
    set_stone("st-oneway_black-s", 10,6 )
    set_stone("st-oneway_black-w", 14,10)
    set_stone("st-oneway_black-n", 10,14)
    set_stone("st-oneway_black-w",  6,10)   
 end
end 

function s8()                               
flag[8] = flag[8] + 1
if flag[8] == 4 then flag[8] = 0 end
if flag[8] == 0 then
    set_stone("st-oneway_black-n", 19,6 )
    set_stone("st-oneway_black-w", 25,10)
    set_stone("st-oneway_black-n", 19,14)
    set_stone("st-oneway_black-e", 13,10)
 elseif flag[8] == 1 then
    set_stone("st-oneway_black-s", 19,6 )
    set_stone("st-oneway_black-e", 25,10)
    set_stone("st-oneway_black-n", 19,14)
    set_stone("st-oneway_black-e", 13,10)
 elseif flag[8] == 2 then
    set_stone("st-oneway_black-s", 19,6 )
    set_stone("st-oneway_black-w", 25,10)
    set_stone("st-oneway_black-s", 19,14)
    set_stone("st-oneway_black-e", 13,10)
 elseif flag[8] == 3 then
    set_stone("st-oneway_black-s", 19,6 )
    set_stone("st-oneway_black-w", 25,10)
    set_stone("st-oneway_black-n", 19,14)
    set_stone("st-oneway_black-w", 13,10)   
 end
end 

function s9()                               
flag[9] = flag[9] + 1
if flag[9] == 4 then flag[9] = 0 end
if flag[9] == 0 then
    set_stone("st-oneway_black-n", 28, 6)
    set_stone("st-oneway_black-w", 32,10)
    set_stone("st-oneway_black-n", 28,14)
    set_stone("st-oneway_black-e", 24,10)
 elseif flag[9] == 1 then
    set_stone("st-oneway_black-s", 28, 6)
    set_stone("st-oneway_black-e", 32,10)
    set_stone("st-oneway_black-n", 28,14)
    set_stone("st-oneway_black-e", 24,10)
 elseif flag[9] == 2 then
    set_stone("st-oneway_black-s", 28, 6)
    set_stone("st-oneway_black-w", 32,10)
    set_stone("st-oneway_black-s", 28,14)
    set_stone("st-oneway_black-e", 24,10)
 elseif flag[9] == 3 then
    set_stone("st-oneway_black-s", 28, 6)
    set_stone("st-oneway_black-w", 32,10)
    set_stone("st-oneway_black-n", 28,14)
    set_stone("st-oneway_black-w", 24,10)   
 end
end 

function s0()                               
flag[10] = flag[10] + 1
if flag[10] == 4 then flag[10] = 0 end
if flag[10] == 0 then
    set_stone("st-oneway_black-n", 35, 6)
    set_stone("st-oneway_black-n", 35,14)
    set_stone("st-oneway_black-e", 31,10)
 elseif flag[10] == 1 then
    set_stone("st-oneway_black-s", 35, 6)
    set_stone("st-oneway_black-n", 35,14)
    set_stone("st-oneway_black-e", 31,10)
 elseif flag[10] == 2 then
    set_stone("st-oneway_black-s", 35, 6)
    set_stone("st-oneway_black-s", 35,14)
    set_stone("st-oneway_black-e", 31,10)
 elseif flag[10] == 3 then
    set_stone("st-oneway_black-s", 35, 6)
    set_stone("st-oneway_black-n", 35,14)
    set_stone("st-oneway_black-w", 31,10)   
 end
end 

function sA()                               
flag[11] = flag[11] + 1
if flag[11] == 4 then flag[11] = 0 end
if flag[11] == 0 then
    set_stone("st-oneway_black-n",  3,13)
    set_stone("st-oneway_black-w",  7,17)
 elseif flag[11] == 1 then
    set_stone("st-oneway_black-s",  3,13)
    set_stone("st-oneway_black-e",  7,17)
 elseif flag[11] == 2 then
    set_stone("st-oneway_black-s",  3,13)
    set_stone("st-oneway_black-w",  7,17)
 elseif flag[11] == 3 then
    set_stone("st-oneway_black-s",  3,13)
    set_stone("st-oneway_black-w",  7,17)
 end
end 

function sB()                               
flag[12] = flag[12] + 1
if flag[12] == 4 then flag[12] = 0 end
if flag[12] == 0 then
    set_stone("st-oneway_black-n", 10,13)
    set_stone("st-oneway_black-w", 14,17)
    set_stone("st-oneway_black-e",  6,17)
 elseif flag[12] == 1 then
    set_stone("st-oneway_black-s", 10,13)
    set_stone("st-oneway_black-e", 14,17)
    set_stone("st-oneway_black-e",  6,17)
 elseif flag[12] == 2 then
    set_stone("st-oneway_black-s", 10,13)
    set_stone("st-oneway_black-w", 14,17)
    set_stone("st-oneway_black-e",  6,17)
 elseif flag[12] == 3 then
    set_stone("st-oneway_black-s", 10,13)
    set_stone("st-oneway_black-w", 14,17)
    set_stone("st-oneway_black-w",  6,17)   
 end
end 

function sC()                               
flag[13] = flag[13] + 1
if flag[13] == 4 then flag[13] = 0 end
if flag[13] == 0 then
    set_stone("st-oneway_black-n", 19,13)
    set_stone("st-oneway_black-w", 25,17)
    set_stone("st-oneway_black-e", 13,17)
 elseif flag[13] == 1 then
    set_stone("st-oneway_black-s", 19,13)
    set_stone("st-oneway_black-e", 25,17)
    set_stone("st-oneway_black-e", 13,17)
 elseif flag[13] == 2 then
    set_stone("st-oneway_black-s", 19,13)
    set_stone("st-oneway_black-w", 25,17)
    set_stone("st-oneway_black-e", 13,17)
 elseif flag[13] == 3 then
    set_stone("st-oneway_black-s", 19,13)
    set_stone("st-oneway_black-w", 25,17)
    set_stone("st-oneway_black-w", 13,17)   
 end
end 

function sD()                               
flag[14] = flag[14] + 1
if flag[14] == 4 then flag[14] = 0 end
if flag[14] == 0 then
    set_stone("st-oneway_black-n", 28,13)
    set_stone("st-oneway_black-w", 32,17)
    set_stone("st-oneway_black-e", 24,17)
 elseif flag[14] == 1 then
    set_stone("st-oneway_black-s", 28,13)
    set_stone("st-oneway_black-e", 32,17)
    set_stone("st-oneway_black-e", 24,17)
 elseif flag[14] == 2 then
    set_stone("st-oneway_black-s", 28,13)
    set_stone("st-oneway_black-w", 32,17)
    set_stone("st-oneway_black-e", 24,17)
 elseif flag[14] == 3 then
    set_stone("st-oneway_black-s", 28,13)
    set_stone("st-oneway_black-w", 32,17)
    set_stone("st-oneway_black-w", 24,17)   
 end
end 

function sE()                               
flag[15] = flag[15] + 1
if flag[15] == 4 then flag[15] = 0 end
if flag[15] == 0 then
    set_stone("st-oneway_black-n", 35,13)
    set_stone("st-oneway_black-e", 31,17)
 elseif flag[15] == 1 then
    set_stone("st-oneway_black-s", 35,13)
    set_stone("st-oneway_black-e", 31,17)
 elseif flag[15] == 2 then
    set_stone("st-oneway_black-s", 35,13)
    set_stone("st-oneway_black-e", 31,17)
 elseif flag[15] == 3 then        
    set_stone("st-oneway_black-s", 35,13)
    set_stone("st-oneway_black-w", 31,17)   
 end
end 
oxyd_shuffle()
    ]]></el:luamain>
    <el:i18n>
      <el:string el:key="title">
        <el:english el:translate="false"/>
      </el:string>
    </el:i18n>
  </el:protected>
</el:level>
