Advertisement
Birog

quarry

Feb 9th, 2013
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.64 KB | None | 0 0
  1. function Titel()
  2.     shell.run("clear")
  3.     print("**** Entwickelt & Copyright Birog ****")
  4.     print("              Version 24              ")
  5.     print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  6.     print()
  7.     print(" Bitte Hoehe angeben wo Sie stehen (y)")
  8.     write(" Hoehe max 150: ")
  9.     yy= io.read()
  10.     print()
  11.     write(" Laenge eingeben (max64): " )
  12.     ll = io.read()
  13.     print()
  14.     write(" Breite eingeben (max64): " )
  15.     bb = io.read()
  16.     sleep(2)
  17.  
  18.     shell.run("clear")
  19.     print("**** Entwickelt & Copyright Birog ****")
  20.     print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  21.     print("       Prüfung der Werte läuft        ")
  22.     print(yy1)
  23.     sleep(1)
  24.  
  25.       if yy > "150" then
  26.        print("Error - Es wurde eine Hoehe von "..yy.." angegeben.")
  27.        write("Max wert 150 - Enter zum erneuten eingeben")
  28.        io.read()
  29.        Titel()
  30.       end
  31.       if ll > "64" then
  32.        print("Error - Es wurde eine Laenge von "..ll.." angegeben.")
  33.        write("Max wert 64 - Enter zum erneuten eingeben")
  34.        io.read()
  35.        Titel()
  36.       end
  37.       if bb > "64" then
  38.        print("Error - Es wurde eine Breite von "..bb.." angegeben.")
  39.        write("Max wert 64 - Enter zum erneuten eingeben")
  40.        io.read()
  41.        Titel()
  42.       end
  43.     print("           Prüfung beendet            ")
  44.     print()
  45.     print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  46.     sleep(2)
  47.       yy2 = 150
  48.       yy = yy + 0
  49.       yy1 = yy2-yy
  50.       ll = ll +0
  51.       bb = bb +0
  52.      
  53. end
  54.  a = 0
  55. -- Auftanken
  56. local function refuel()
  57.     local fuelLevel = turtle.getFuelLevel()
  58.     if fuelLevel == "unlimited" or fuelLevel > 0 then
  59.         return
  60.     end
  61.    
  62. local function tryRefuel()
  63.     for n=15,16 do
  64.         if turtle.getItemCount(n) > 0 then
  65.             turtle.select(n)
  66.             if turtle.refuel(1) then
  67.                 turtle.select(1)
  68.                 return true
  69.             end
  70.         end
  71.     end
  72.     turtle.select(1)
  73.         return false
  74.     end
  75.    
  76.     if not tryRefuel() then
  77.         print( "Add more fuel to continue." )
  78.         while not tryRefuel() do
  79.             sleep(1)
  80.         end
  81.         print( "Resuming." )
  82.     end
  83. end
  84.  
  85. -- Abbau vorraus
  86. local function tryDig()
  87.     while turtle.detect() do
  88.         if turtle.dig() then
  89.             sleep(0.5)
  90.         else
  91.             return false
  92.         end
  93.     end
  94.     return true
  95. end
  96.  
  97. --Abbau oben
  98. local function tryDigUp()
  99.     while turtle.detectUp() do
  100.         if turtle.digUp() then
  101.             collect()
  102.             sleep(0.5)
  103.         else
  104.             return false
  105.         end
  106.     end
  107.     return true
  108. end
  109.  
  110. -- Nach oben gehen
  111. local function tryUp()
  112.     refuel()
  113.     while not turtle.up() do
  114.         if turtle.detectUp() then
  115.             if not tryDigUp() then
  116.                 return false
  117.             end
  118.         elseif turtle.attackUp() then
  119.             collect()
  120.         else
  121.             sleep( 0.5 )
  122.         end
  123.     end
  124.     return true
  125. end
  126.  
  127. -- Nach Unten gehen
  128. local function tryDown()
  129.     refuel()
  130.     while not turtle.down() do
  131.         if turtle.detectDown() then
  132.             if not tryDigDown() then
  133.                 return false
  134.             end
  135.         elseif turtle.attackDown() then
  136.             collect()
  137.         else
  138.             sleep( 0.5 )
  139.         end
  140.     end
  141.     return true
  142. end
  143.  
  144. -- Vorwärts gehen
  145. local function tryForward()
  146.     refuel()
  147.     while not turtle.forward() do
  148.         if turtle.detect() then
  149.             if not tryDig() then
  150.                 return false
  151.             end
  152.         elseif turtle.attack() then
  153.             collect()
  154.         else
  155.             sleep( 0.5 )
  156.         end
  157.     end
  158.     return true
  159. end
  160.  
  161. -- Zurück gehen
  162. local function tryBack()
  163.     refuel()
  164.     while not turtle.forward() do
  165.         if turtle.detect() then
  166.             if not tryDig() then
  167.                 return false
  168.             end
  169.         elseif turtle.attack() then
  170.             collect()
  171.         else
  172.             sleep( 0.5 )
  173.         end
  174.     end
  175.     return true
  176. end
  177.  
  178. --Block platzieren
  179. local function tryPlace()
  180.     refuel()
  181.     while not turtle.placeDown() do
  182.         if turtle.detectDown() then
  183. --          if not tryDigDown() then
  184.                 return false
  185. --          end
  186.         elseif turtle.attack() then
  187.             collect()
  188.         else
  189.             sleep( 0.5 )
  190.         end
  191.     end
  192.     return true
  193. end
  194.  
  195. --Landmark setzen
  196. function tryLand()
  197.  tryUp()
  198.  turtle.select(2)
  199.  tryPlace()
  200.   for n = 1,ll do
  201.    tryForward()
  202.    print(100/ll*n," % des Weges zurueck gelegt")
  203.   end
  204.   print("Gehe runter")
  205.   tryDown()
  206.   print("Plaziere Block")
  207.   turtle.select(1)
  208.   tryPlace()
  209.   print("Geh ein Block hoch")
  210.   tryUp()
  211.   print("Platziere Landmark 2")
  212.   turtle.select(2)
  213.   tryPlace()
  214.   print("Gehe zurück")
  215.   turtle.turnLeft()
  216.   turtle.turnLeft()
  217.   for n = 1,ll do
  218.    tryForward()
  219.    print(100/ll*n," % des Rueckwegs zurueck gelegt")
  220.   end
  221.   turtle.turnLeft()
  222.   for n = 1,bb do
  223.    tryForward()
  224.    print(100/bb*n," % des Weges zurueck gelegt")
  225.   end
  226.   print("Gehe runter")
  227.   tryDown()
  228.   print("Plaziere Block")
  229.   turtle.select(1)
  230.   tryPlace()
  231.   print("Geh ein Block hoch")
  232.   tryUp()
  233.   print("Platziere Landmark 3")
  234.   turtle.select(2)
  235.   tryPlace()
  236.   print("Gehe zurück")
  237.   turtle.turnLeft()
  238.   turtle.turnLeft()
  239.   for n = 1,bb do
  240.    tryForward()
  241.    print(100/bb*n," % des Rueckwegs zurueck gelegt")
  242.   end
  243.   tryForward()
  244.   turtle.turnRight()
  245.   turtle.turnRight()
  246.   tryDown()
  247.   turtle.place()
  248. end
  249.  
  250. -----------------------------------------------
  251. Titel()
  252. print("**** Entwickelt & Copyright Birog ****")
  253. print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  254. print()
  255. print("        Gehe auf Arbeitshoehe         ")
  256.  for n=1,yy1 do
  257.   tryUp()
  258. end
  259. print("        Arbeitshoehe erreicht         ")
  260. sleep(1)
  261. print("        Platform wird gebaut..        " )
  262. for nn=1,3 do
  263.  for n=1,2 do
  264.   turtle.select(1)
  265.   tryPlace()
  266.   tryForward()
  267.   tryDigUp()  
  268.   tryPlace()
  269.  end
  270.   if a == 0 then
  271.    turtle.turnRight()
  272.    tryDig()
  273.    tryForward()
  274.    tryDigUp()
  275.    turtle.turnRight()
  276.    a = a+1
  277.   elseif a == 1 then
  278.    turtle.turnLeft()
  279.    tryDig()
  280.    tryForward()
  281.    tryDigUp()
  282.    turtle.turnLeft()
  283.    a = a-1
  284.   end  
  285. end
  286. print("l")
  287. turtle.turnRight()
  288. tryForward()
  289. print("r")
  290. turtle.turnLeft()
  291. tryForward()
  292. tryPlace()
  293. print("        Platform complete.            ")
  294. print()
  295. print()
  296. print("        Landmarks werden gesetzt      ")
  297. tryLand()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement