Advertisement
M0n5t3r

Query_up

Sep 7th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.27 KB | None | 0 0
  1. local Length
  2. local Width
  3. local Height
  4.  
  5. local Forward = 0
  6. local rows_done = 0
  7. local Up = 0
  8.  
  9. local left_right = 'right'
  10.  
  11. term.write("Insert Length: ")
  12. Length = tonumber(read())
  13. print(" ")
  14.  
  15. term.write("Insert Width: ")
  16. Width = tonumber(read())
  17. print(" ")
  18.  
  19. term.write("Insert Heihgt: ")
  20. Height = tonumber(read())
  21. print(" ")
  22.  
  23. function mine_upDown()
  24.     while turtle.forward() == false do
  25.         turtle.dig()
  26.     end
  27.     repeat
  28.         turtle.digUp()
  29.     until turtle.up() == true
  30.     turtle.down()
  31.     turtle.digDown()
  32. end
  33. function mine_Down()
  34.     while turtle.forward() == false do
  35.         turtle.dig()
  36.     end
  37.     turtle.digDown()
  38. end
  39. function mine()
  40.     while turtle.forward() == false do
  41.         turtle.dig()
  42.     end
  43. end
  44.  
  45. function mine_row_upDown()
  46.     repeat
  47.         mine_upDown()
  48.         Forward = Forward + 1
  49.     until Forward == Length
  50.     Forward = 0
  51. end
  52. function mine_row_Down()
  53.     repeat
  54.         mine_Down()
  55.         Forward = Forward + 1
  56.     until Forward == Length
  57.     Forward = 0
  58. end
  59. function mine_row()
  60.     repeat
  61.         mine()
  62.         Forward = Forward + 1
  63.     until Forward == Length
  64.     Forward = 0
  65. end
  66.  
  67. function clear_three()
  68.     repeat
  69.         mine_row_upDown()
  70.         rows_done = rows_done + 1
  71.         if rows_done ~= Width then
  72.             if left_right == 'right' then
  73.                 turtle.turnLeft()
  74.                 mine_upDown()
  75.                 turtle.turnLeft()
  76.                 left_right = 'left'
  77.             else
  78.                 turtle.turnRight()
  79.                 mine_upDown()
  80.                 turtle.turnRight()
  81.                 left_right = 'right'
  82.             end
  83.         end
  84.     until rows_done == Width
  85.     rows_done = 0
  86. end
  87. function clear_two()
  88.     repeat
  89.         mine_row_Down()
  90.         rows_done = rows_done + 1
  91.         if rows_done ~= Width then
  92.             if left_right == 'right' then
  93.                 turtle.turnLeft()
  94.                 mine_Down()
  95.                 turtle.turnLeft()
  96.                 left_right = 'left'
  97.             else
  98.                 turtle.turnRight()
  99.                 mine_Down()
  100.                 turtle.turnRight()
  101.                 left_right = 'right'
  102.             end
  103.         end
  104.     until rows_done == Width
  105.     rows_done = 0
  106. end
  107. function clear_one()
  108.     repeat
  109.         mine_row()
  110.         rows_done = rows_done + 1
  111.         if rows_done ~= Width then
  112.             if left_right == 'right' then
  113.                 turtle.turnLeft()
  114.                 mine()
  115.                 turtle.turnLeft()
  116.                 left_right = 'left'
  117.             else
  118.                 turtle.turnRight()
  119.                 mine()
  120.                 turtle.turnRight()
  121.                 left_right = 'right'
  122.             end
  123.         end
  124.     until rows_done == Width
  125.     rows_done = 0
  126. end
  127.  
  128. function up_three()
  129.     turtle.turnLeft()
  130.     turtle.turnLeft()
  131.     repeat
  132.         turtle.digUp()
  133.     until turtle.up() == true
  134.     repeat
  135.         turtle.digUp()
  136.     until turtle.up() == true
  137.     repeat
  138.         turtle.digUp()
  139.     until turtle.up() == true
  140.     Up = Up + 3
  141. end
  142. function up_two()
  143.     turtle.turnLeft()
  144.     turtle.turnLeft()
  145.     repeat
  146.         turtle.digUp()
  147.     until turtle.up() == true
  148.     repeat
  149.         turtle.digUp()
  150.     until turtle.up() == true
  151.     Up = Up + 2
  152. end
  153. function up_one()
  154.     turtle.turnLeft()
  155.     turtle.turnLeft()
  156.     repeat
  157.         turtle.digUp()
  158.     until turtle.up() == true
  159.     Up = Up + 1
  160. end
  161.  
  162. turtle.up()
  163. Up = Up + 1
  164. clear_three()
  165. repeat
  166.    
  167.     if Up + 1 == Height then
  168.         up_one()
  169.         clear_one()
  170.     elseif Up + 2 == Height then
  171.         up_two()
  172.         clear_two()
  173.     elseif Up + 3 == Height then
  174.         up_three()
  175.         clear_three()
  176.     else
  177.         up_three()
  178.         clear_three()
  179.     end
  180.         -- Werkt niet! Beter maken, en liever ook niet dat hij up_one doet, maar dat hij checkt hoeveel nivau's boven hem nog moeten
  181.     -- als het er maar 1 is. stop
  182.     -- is het er 0 - voordat je begint, zorg dat je niet boven je gaat graven
  183.     -- als het er twee zijn. een naar boven, dan alleen up & forward ofzo? ff kijken wat handig is
  184.     -- if + 1, if + 2 if + 3 = go up & nog 1x doen (if 0 zou nooit moeten kunnen bestaan)
  185.     -- daarna moet hij nog naar onder het aantal x dat hij Up was gegaan.
  186. until Up >= Height
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement