XpresS7

[KOPAC] by XpresS

Sep 14th, 2017
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.72 KB | None | 0 0
  1. -- ********************************************
  2. -- Kopac by XpresS
  3. -- Verzia: v 0.8
  4. -- ComputerCraft (c)
  5. -- ********************************************
  6. args = { ... }
  7. if not (#args == 2) then
  8.   print('***************************************')
  9.   print('KOPAC >> Pouzitie: kop <dlzka> <sirka>')
  10.   print('***************************************')
  11.   return
  12. elseif not (tonumber(args[2]) % 2 == 0) then
  13.   print('Sirka musi byt kladne cislo kvoli uspore paliva v navratovej faze.')
  14.   return
  15. end
  16.  
  17. dlzka = tonumber(args[1])
  18. sirka = tonumber(args[2])
  19.  
  20. tor = false
  21. if turtle.getItemCount(15) > 0 then tor = true end
  22.  
  23. rada = 0
  24.  
  25. function k()
  26.   while turtle.detect() do
  27.    if turtle.dig() then
  28.     sleep(0.1)
  29.    else
  30.     return false
  31.    end
  32.   end
  33.   return true
  34. end
  35.  
  36. function kN()
  37.   while turtle.detectUp() do
  38.    if turtle.digUp() then
  39.     sleep(0.1)
  40.    else
  41.     return false
  42.    end
  43.   end
  44.   return true
  45. end
  46.  
  47. function kD()
  48.   while turtle.detectDown() do
  49.    if turtle.digDown() then
  50.     sleep(0.1)
  51.    else
  52.     return false
  53.    end
  54.   end
  55.   return true
  56. end
  57.  
  58. function kV()
  59.   k()
  60.   while not turtle.forward() do
  61.     sleep(0.1)
  62.     k()
  63.   end
  64. end
  65.  
  66. function kop(dlzka)
  67.   for ki=1, dlzka - 1 do
  68.     kV()
  69.     kN()
  70.     kD()
  71.     if (rada % 6 == 0 or rada == 1) and (ki % 6 == 0 or ki==1) and tor then torch() end
  72.   end
  73. end
  74.  
  75. function nabij(lvl)
  76.     poc = 0
  77.     turtle.select(16)
  78.     while turtle.getFuelLevel() < lvl do
  79.       if poc > 1 and poc < 3 then print('Vloz palivo pre '..lvl ..' krokov do 16. slotu!') end
  80.       turtle.refuel(1)
  81.       poc = poc + 1
  82.       sleep(0.2)
  83.     end
  84.     turtle.select(1)
  85. end
  86.  
  87. function vyloz(torche)
  88.  for s=1,14 do
  89.    turtle.select(s)
  90.    turtle.drop()
  91.  end
  92.  if tor == false then
  93.    turtle.select(15)
  94.    turtle.drop()
  95.  end
  96.  turtle.select(1)
  97. end
  98.  
  99. function torch()
  100.   turtle.select(15)
  101.   turtle.placeDown()
  102.   turtle.select(1)
  103. end
  104.  
  105. pruchody = sirka / 2
  106.  
  107. for x = 1, pruchody do
  108.   rada = rada + 1
  109.   print('rada: '..rada)
  110.   pocetkroku = (dlzka * 2) + (rada * 2) + 5
  111.   nabij(pocetkroku)
  112.   kV()
  113.   kV()
  114.   turtle.turnRight()
  115.   for rad = 1, rada - 1 do
  116.     kV()
  117.   end
  118.   turtle.turnLeft()
  119.   kN()
  120.   kD()
  121.   kop(dlzka)
  122.   turtle.turnRight()
  123.   kV()
  124.   kN()
  125.   kD()
  126.   turtle.turnRight()
  127.   rada = rada + 1
  128.   print('Aktualna Rada: '..rada)
  129.   kop(dlzka)
  130.   turtle.turnRight()
  131.   for rada = 1, rada - 1 do
  132.     kV()
  133.   end
  134.   turtle.turnLeft()
  135.   kV()
  136.   kV()
  137.   vyloz(tor)
  138.   turtle.turnLeft()
  139.   turtle.turnLeft()
  140. end
  141.  
  142. print('***************************************')
  143. print('KOPAC >> Uloha bola dokoncena.')
  144. print('KOPAC >> Prosim zadaj dalsi prikaz pomocou')
  145. print('KOPAC >> kopac <dlzka> <sirka>')
  146. print('***************************************')
  147. sleep(0.5)
Add Comment
Please, Sign In to add comment