Advertisement
Lyandro

tunel_trilhos

Sep 17th, 2022 (edited)
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.07 KB | Source Code | 0 0
  1. rednet.open("right")
  2.  
  3. function dig()
  4.     turtle.dig()
  5.     turtle.forward()
  6.     turtle.digUp()
  7.     turtle.digDown()
  8. end
  9.  
  10. function moveToSides()
  11.     turtle.turnRight()
  12.     dig()
  13.     turtle.turnLeft()
  14.     turtle.turnLeft()
  15.     turtle.forward()
  16.     dig()
  17. end
  18.  
  19. function returnToCenter()
  20.     turtle.turnRight()
  21.     turtle.turnRight()
  22.     turtle.forward()
  23.     turtle.turnLeft()
  24. end
  25.  
  26. function digTunnel()
  27.     dig()
  28.     moveToSides()
  29.     returnToCenter()
  30. end
  31.  
  32. function enviarStatus()
  33.     rednet.send(1, "concluido", "status")
  34. end
  35.  
  36. function defCave()
  37.     blocos = { rednet.receive("qtdblocos") }
  38.     local sender, message, protocol = rednet.receive("iniciar")
  39.     if message == "dig" then
  40.         --print("Cavando tรบnel com "..blocos[2].." blocos de comprimento")
  41.         for i = 1, blocos[2], 1 do
  42.             digTunnel()
  43.         end
  44.     end
  45. end
  46.  
  47. while true do
  48.  
  49.     defCave()
  50.  
  51.     while true do
  52.         enviarStatus()
  53.  
  54.         local sender, message, protocol = rednet.receive("menu")
  55.  
  56.         if message == "bloco" then
  57.             defCave()
  58.         end
  59.  
  60.         if message == "direcao" then
  61.  
  62.             turtle.back()
  63.  
  64.             local sender, message, protocol = rednet.receive("direcao")
  65.             if message == "d" then
  66.                 turtle.turnRight()
  67.             end
  68.             if message == "e" then
  69.                 turtle.turnLeft()
  70.             end
  71.  
  72.             turtle.forward()
  73.  
  74.             defCave()
  75.  
  76.         end
  77.  
  78.         if message == "escada" then
  79.             opc = {rednet.receive("opc") }
  80.             degrau = { rednet.receive("qtddegrau") }
  81.             if opc[2] == "s" then
  82.                 for i = 1, (degrau[2] + 1), 1 do
  83.                     digTunnel()
  84.                     turtle.up()
  85.                 end
  86.             end
  87.             if opc[2] == "d" then
  88.                 for i = 1, (degrau[2] + 1), 1 do
  89.                     digTunnel()
  90.                     turtle.down()
  91.                 end
  92.             end
  93.         end
  94.  
  95.         if message == "break" then
  96.             break
  97.         end
  98.     end
  99.     break
  100. end
  101.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement