Advertisement
Birog

Quarry2

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