Advertisement
Guest User

minar

a guest
Apr 4th, 2020
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.17 KB | None | 0 0
  1. radioOriginal = 5
  2. nivelesVaciar = 1
  3.  
  4.  
  5. profundidad = 0
  6. contadorNiveles = 0
  7. vueltas = 3
  8. radio = radioOriginal
  9.  
  10. function Combustible()
  11.     for i=1,16 do
  12.         turtle.select(i)
  13.         turtle.refuel()
  14.     end
  15.     turtle.select(1)
  16. end
  17.  
  18. function MinarLinea(n)
  19.     for i=1, n do
  20.         if (not turtle.dig()) then
  21.             if (not turtle.forward()) then
  22.                 return false
  23.             end
  24.         else
  25.             turtle.forward()
  26.         end
  27.     end
  28.     return true
  29. end
  30.  
  31. function Recolocar()
  32.     for i=1,(radioOriginal+1)/2 do
  33.         turtle.forward()
  34.     end
  35.     turtle.turnLeft()
  36.     for i=1,(radioOriginal-1)/2 do
  37.         turtle.forward()
  38.     end
  39.     turtle.turnRight()
  40.     turtle.turnRight()    
  41. end
  42.  
  43. function MinarNivel()
  44.     if (not turtle.digDown()) then
  45.         if (not turtle.down()) then
  46.             return false
  47.         end
  48.     else
  49.         turtle.down()
  50.     end
  51.     profundidad = profundidad + 1
  52.    
  53.     while vueltas>0 do
  54.         if (not MinarLinea(radio)) then
  55.             return false
  56.         end
  57.         vueltas = vueltas - 1
  58.         if (vueltas == 0) then
  59.             radio = radio - 1
  60.             if (radio == 0) then
  61.                 vueltas = 0
  62.             else
  63.                 vueltas = 2
  64.             end    
  65.          end
  66.         turtle.turnRight()
  67.     end
  68.     radio = radioOriginal
  69.     vueltas = 3
  70.     contadorNiveles = contadorNiveles + 1
  71.     return true
  72. end
  73.  
  74. function Vaciar()
  75.     for i=1, profundidad+1 do
  76.         turtle.up()
  77.     end
  78.     turtle.back()
  79.    
  80.     for i=1,16 do
  81.         turtle.select(i)
  82.         turtle.dropDown()
  83.     end
  84.    
  85.     turtle.forward()
  86.     for i=1, profundidad+1 do
  87.         turtle.down()
  88.     end
  89.     contadorNiveles = 0
  90. end
  91.  
  92. function Terminar()
  93.     for i=1, profundidad+1 do
  94.         turtle.up()
  95.     end
  96. end    
  97.  
  98. function execute()
  99.     Combustible()
  100.    
  101.     while contadorNiveles < nivelesVaciar do
  102.         if (not MinarNivel()) then
  103.             Terminar()
  104.             return
  105.         end
  106.         Recolocar()
  107.     end
  108.    
  109.     Combustible()
  110.     Vaciar()
  111.     return true    
  112. end
  113.  
  114. while true do
  115.     if (not execute()) then
  116.         break
  117.     end
  118. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement