home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Geschicklichkeit / Enigma / Enigma-081.exe / data / levels / martin96.lua < prev    next >
Text File  |  2003-08-18  |  2KB  |  81 lines

  1. -- created by Martin Hawlisch
  2. -- reused code from ant16.lua
  3.  
  4. dofile(enigma.FindDataFile("levels/ant.lua"))
  5. dofile(enigma.FindDataFile("levels/natmaze.lua"))
  6.  
  7. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  8. -- i took these from Nat Pryce's natmaze.lua maps
  9. function cell_to_level( cellx, celly )
  10.     return originx + cellx * 2, originy + celly * 2
  11. end
  12.  
  13. function render_cell(maze, cellx, celly)
  14.     x,y = cell_to_level(cellx, celly)
  15.  
  16.     cells["w"](x, y)
  17.  
  18.     if maze:can_go_south(cellx,celly) then
  19.        cells["w"](x, y+1)
  20.     end
  21.  
  22.     if maze:can_go_east(cellx,celly) then
  23.        cells["w"](x+1, y)
  24.     end
  25.  end
  26.  
  27. -- to get the size of maze
  28. originx, originy = nil, nil
  29. mazew, mazeh = nil, nil
  30.  
  31. function get_limits(x,y)
  32.    originx = originx or x
  33.    originy = originy or y
  34.  
  35.    if (x>originx) then
  36.       mazew = ceil((x-originx+1)/2)
  37.    end
  38.  
  39.    if (y>originy) then
  40.       mazeh = ceil((y-originy+1)/2)
  41.    end
  42. end
  43.  
  44. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  45. cells={}
  46.  
  47. if (options.Difficulty==1) then -- easy
  48.     cells[" "]=cell{floor="fl-bluegray"}
  49. else
  50.     cells[" "]=cell{floor="fl-bluegray",stone="st-grate2"}
  51. end
  52. cells["."]=cell{floor="fl-water"}
  53. cells["w"]=cell{stone="st-knight",floor="fl-bluegray"}
  54. cells["#"]=cell{stone="st-plain"}
  55.  
  56. cells["o"]=cell{actor={"ac-blackball", {player=0, mouseforce=1}}}
  57. cells["|"]=cell{item="it-sword"}
  58. cells["Z"]=cell{{{get_limits}}}
  59.  
  60. level = {
  61.    "#0################0#",
  62.    "#   Z............. #",
  63.    "#  ............... #",
  64.    "#  ............... #",
  65.    "#  ............... #",
  66.    "#  ............... #",
  67.    "# o............... #",
  68.    "#  ............... #",
  69.    "#  ............... #",
  70.    "#  ............... #",
  71.    "#  ............... #",
  72.    "# |.............Z  #",
  73.    "#0################0#"
  74. }
  75.  
  76. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  77. set_default_parent(cells[" "])
  78. create_world_by_map(level)
  79. render_maze(new_kruskal_maze(mazew, mazeh), render_cell)
  80. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  81.