Advertisement
ck47

pyramid

Sep 27th, 2012
2,345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.09 KB | None | 0 0
  1. --0.1.0
  2. --
  3. -- Pyramid Builder
  4. -- by k47
  5. --
  6.  
  7. --Includes--
  8. path=shell.resolveProgram("kurtle")
  9. if path==nil or not os.loadAPI(path) then
  10.   print("Cant load library: kurtle")
  11.   return 1
  12. end
  13.  
  14. path=shell.resolveProgram("kbuild")
  15. if path==nil or not os.loadAPI(path) then
  16.   print("Cant load library: kbuild")
  17.   return 1
  18. end
  19.  
  20. --Declares--
  21. local radius = 0
  22.  
  23. --Arguments--
  24. local argv = {...}
  25. if # argv ~= 1 then
  26.   print("Usage: pyramid <radius>")
  27.   return 2
  28. else
  29.   radius = tonumber (argv[1])
  30. end
  31.  
  32. --Main--
  33. --:Mark Center
  34. kbuild.place ()
  35.  
  36. --:Goto first corner
  37. kurtle.fwd (radius-1)
  38. kurtle.right ()
  39. kurtle.fwd (radius-1)
  40. kurtle.right ()
  41.  
  42. for h=radius*-1,-1 do
  43.   if h==-1 then
  44.         --:Place the end cap
  45.     kurtle.down ()
  46.     turtle.placeUp ()
  47.     kurtle.down (radius-2)
  48.     kurtle.right (2)
  49.     break
  50.   end
  51.   kurtle.up ()
  52.   for s=1,4 do -- for each side
  53.     for l=1,(h+1)*-2 do
  54.       kbuild.place ()
  55.       kurtle.fwd ()
  56.     end
  57.     if s==4 then break end
  58.     kurtle.right ()
  59.   end
  60.   kurtle.back ()
  61.   kurtle.right ()
  62.   kurtle.fwd ()
  63. end
  64.  
  65. -- vim: ft=lua ts=2 sts=2 sw=2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement