Advertisement
Zorco

Untitled

Sep 23rd, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. write ("Greetings!")
  2. write ("Set length: ")
  3. l=read()
  4. write ("Set number of 3x1 tunnels: ")
  5. Nturns=read()
  6. write ("Set number of height (0 if 1 level): ")
  7. Nheight=read()
  8. write ("Set where you want to dig (up=1, down=0): ")
  9. drn=read()
  10. write ("Set which side you want to dig (left=1, right=2): ")
  11. side=read()
  12.  
  13. function Pullback(l,lCur,Face,NtCur,NhCur,side)
  14. if NhCur>0 then
  15. for i=1,NhCur do turtle.down() end
  16. end
  17. if Side==1 then
  18. if Face==1 then
  19. turtle.turnleft()
  20. else turtle.turnright()
  21. end
  22. else
  23. if Face==1 then
  24. turtle.turnright()
  25. else turtle.turnleft()
  26. end
  27. end
  28. if NtCur>0 then
  29. for i=1,NtCur do turtle.forward() end
  30. end
  31. if Side == 1 then turtle.turnright() else turtle.turnleft() end
  32. if Face == 1 then
  33. for i=1,(l-lCur) do turtle.forward() end
  34. else for i=1,lCur do tutle.forward() end
  35. end
  36. for i=2,16 do
  37. turtle.select(i)
  38. turtle.drop(i)
  39. end
  40. turtle.select(1)
  41. turtle.turnright()
  42. turtle.turnright()
  43.  
  44. if Face==1 then for i=1,(l-lCur) do turtle.forward() end
  45. else for i=1,lCur do turtle.forward() end
  46. end
  47. if NtCur>0 then
  48. if Side==1 then turtle.turnleft() else turtle.turnright() end
  49. for i=1,NtCur do turtle.forward() end
  50. if Side==1 then
  51. if Face==1 then turtle.turnleft() else turtleturnright() end
  52. else
  53. if Face==1 then turtle.turnright() else turtle.turnleft() end
  54. end
  55. end
  56. if NhCur >0 then
  57. for i=1,NhCur do turtle.up() end
  58. end
  59. end
  60.  
  61. function FC()
  62. Flag=true
  63. while Flag==true do
  64. Fuel=turtle.getFuelLimit()
  65. if Fuel<500 then
  66. turtle.refuel(10)
  67. else Flag=false
  68. end
  69. end
  70. end
  71.  
  72. function SC()
  73. Nfull=0
  74. for s=2,9 do
  75. count=turtle.getItemCount(s)
  76. if count==64 then
  77. Nfull=Nfull+1
  78. end
  79. end
  80. if Nfull==15 then
  81. Pullback(l,lCur,Face,NtCur,NhCur)
  82. end
  83. end
  84.  
  85. function Turning(side)
  86. if side==1 then
  87. turtle.turnLeft()
  88. else
  89. turtle.turnRight()
  90. end
  91. turtle.dig()
  92. while turtle.detect()==true do
  93. turtle.dig()
  94. end
  95. turtle.forward()
  96. turtle.digUp()
  97. while turtle.detect()==true do
  98. turtle.digUp()
  99. end
  100. turtle.digDown()
  101. if Side==1 then
  102. turtle.turnLeft()
  103. else
  104. turtle.turnRight()
  105. end
  106. end
  107.  
  108. function Forw()
  109. turtle.dig()
  110. turtle.digUp()
  111. turtle.digDown()
  112. while turtle.detectUp()==true do
  113. turtle.digUp()
  114. end
  115. while turtle.detect()==true do
  116. turtle.dig()
  117. end
  118. turtle.forward()
  119. end
  120.  
  121. function Height(Drn)
  122. turtle.turnLeft()
  123. turtle.turnLeft()
  124. if drn==1 then
  125. for i=1,3 do
  126. turtle.up()
  127. turtle.digUp()
  128. while turtle.detectUp()==true do
  129. turtle.digUp()
  130. end
  131. end
  132. else
  133. for i=1,3 do
  134. turtle.down()
  135. turtle.digdown()
  136. end
  137. end
  138. end
  139.  
  140.  
  141.  
  142. FC()
  143. lCur=1
  144. NtCur=0
  145. NhCur=0
  146. Face=0
  147. for i=1,Nheight do
  148. for j=0,Nturns do
  149. Face=bit.band(j,1)
  150. for k=1,l do
  151. lCur=k
  152. Forw()
  153. FC()
  154. SC()
  155. end
  156. Turning(Side)
  157. NtCur=NtCur+1
  158. FC()
  159. SC()
  160. end
  161. if Side==1 then turtle.turnleft() else turtle.turnright() end
  162. for i=1,Nturns do turtle.forward() end
  163. if Side==1 then turtle.turnlefr() else turtle.turnright() end
  164. Height(Drn)
  165. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement