Advertisement
Guest User

Quarry

a guest
Jun 17th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.92 KB | None | 0 0
  1. local aHeight = 0
  2. local mHeight = 0
  3. local x = 0
  4. local z = 0
  5. local xPos = 1
  6. local zPos = 1
  7. heading = true
  8.  
  9. function clear()
  10.     term.clear()
  11.     term.setCursorPos(1,1)
  12. end
  13.  
  14. function coordinates()
  15.     print("Altura atual: "..aHeight)
  16.     print("Altura final: "..mHeight)
  17.     print("DistεA2ncia para Frente: "..x)
  18.     print("DistεA2ncia para Direita: "..z)
  19.    
  20. end
  21.  
  22. function repeating()
  23.     clear()
  24.     coordinates()
  25. end
  26.  
  27. function settingCoordinates()
  28.    repeating()
  29.    print("Qual a altura atual?")
  30.    aHeight = tonumber(read())
  31.    repeating()
  32.    print("Qual a altura desejada?")
  33.    mHeight = tonumber(read())
  34.    repeating()
  35.    print("Quantos blocos a frente?")
  36.    x = tonumber(read())
  37.    repeating()
  38.    print("Quantos blocos para Direita?")
  39.    z = tonumber(read())
  40.    repeating()
  41.    print("ComeεA7ando MineraεA7ao!")
  42.    down = aHeight - mHeight
  43.    
  44.    
  45. end
  46.  
  47. function miningDown()
  48.    if aHeight > mHeight then
  49.     if turtle.detectDown() then
  50.         turtle.digDown()
  51.         turtle.down()
  52.         down = down - 1
  53.     else
  54.         turtle.down()
  55.         down = down - 1
  56.     end
  57.    end
  58. end
  59.  
  60. function miningForward()
  61.     if turtle.detect() then
  62.         turtle.dig()
  63.         turtle.forward()
  64.     else
  65.     turtle.forward()
  66.     end
  67.    
  68. end
  69.  
  70. function mining1()
  71. if down > 0 then
  72.    
  73.     miningDown()
  74.    
  75.    
  76.     while zPos <= z do
  77.        
  78.         while xPos < x and heading do
  79.             miningForward()
  80.             xPos = xPos + 1
  81.         end
  82.        
  83.         if xPos == x and zPos < z then
  84.             turtle.turnRight()
  85.             miningForward()
  86.             turtle.turnRight()
  87.             zPos = zPos + 1
  88.             heading = false
  89.         end
  90.        
  91.         while xPos <= x and xPos > 1 and not heading do
  92.             miningForward()
  93.             xPos = xPos - 1
  94.         end
  95.        
  96.         if xPos == 1 and zPos < z then
  97.             turtle.turnLeft()
  98.             miningForward()
  99.             turtle.turnLeft()
  100.             zPos = zPos + 1
  101.             heading = true
  102.         end
  103.        
  104.         if zPos == z and xPos == x and heading then
  105.         mining2()
  106.         break
  107.         end
  108.     end
  109.    
  110.    
  111. end
  112. os.shutdown()
  113. end
  114.  
  115.  
  116.  
  117. function mining2()
  118. if down > 0 then
  119.     if zPos == z then
  120.  
  121.             if heading then
  122.             turtle.turnLeft()
  123.             turtle.turnLeft()
  124.             heading = false
  125.             miningDown()
  126.            
  127.                 while zPos <= z and zPos >= 1 do
  128.                
  129.                    
  130.                     while xPos < x and heading do
  131.                         miningForward()
  132.                         xPos = xPos + 1
  133.                     end
  134.                
  135.                     if xPos == 1 and zPos <= z and z ~= 1 then
  136.                         turtle.turnRight()
  137.                         miningForward()
  138.                         turtle.turnRight()
  139.                         zPos = zPos - 1
  140.                         heading = true
  141.                     end
  142.                
  143.                     while xPos <= x and xPos > 1 and not heading do
  144.                         miningForward()
  145.                         xPos = xPos - 1
  146.                     end
  147.                     if zPos == 1 and xPos == 1 and not heading then
  148.                         print("ok")
  149.                         turtle.turnLeft()
  150.                         turtle.turnLeft()
  151.                         heading = true
  152.                         mining1()
  153.                     end
  154.                    
  155.                     if xPos == x and zPos < z then
  156.                         turtle.turnLeft()
  157.                         miningForward()
  158.                         turtle.turnLeft()
  159.                         zPos = zPos - 1
  160.                         heading = false
  161.                     end
  162.                    
  163.                    
  164.                 end
  165.                
  166.             end
  167.     end
  168. end
  169. os.shutdown()
  170. end
  171.  
  172.  
  173.  
  174.  
  175.  
  176. --Inicio do Programa
  177. settingCoordinates()
  178. mining1()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement