FeyMen

planting in a circle

Dec 15th, 2024 (edited)
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. local robot = require("robot")
  2.  
  3. -- Проверяем, установлен ли блок перед роботом
  4. local function isBlockInFront()
  5. return robot.detect()
  6. end
  7.  
  8. -- Устанавливаем жёрдочку перед роботом
  9. local function placeStick()
  10. robot.select(1) -- Выбираем слот 1 с жёрдочками
  11. if robot.place() or isBlockInFront() then -- Проверяем, установлен ли блок
  12. print("Жёрдочка установлена перед роботом!")
  13. return true
  14. else
  15. print("Не удалось установить жёрдочку перед роботом (ошибка установки).")
  16. return false
  17. end
  18. end
  19.  
  20. -- Сажаем росток перед роботом
  21. local function plantSapling()
  22. robot.select(2) -- Выбираем слот 2 с ростками
  23. if robot.place() then
  24. print("Росток посажен перед роботом!")
  25. return true
  26. else
  27. print("Не удалось посадить росток перед роботом (место занято).")
  28. return false
  29. end
  30. end
  31.  
  32. -- Сажаем росток под роботом
  33. local function plantSaplingDown()
  34. robot.select(2) -- Выбираем слот 2 с ростками
  35. if robot.placeDown() then
  36. print("Росток посажен под роботом!")
  37. return true
  38. else
  39. print("Не удалось посадить росток под роботом (место занято).")
  40. return false
  41. end
  42. end
  43.  
  44. -- Собираем урожай перед роботом
  45. local function harvestCrop()
  46. if robot.swing() then
  47. print("Урожай перед роботом собран!")
  48. return true
  49. else
  50. print("Перед роботом нет урожая.")
  51. return false
  52. end
  53. end
  54.  
  55. -- Выполняем посадку (жёрдочка + росток) в одном направлении
  56. local function processPlanting()
  57. print("Устанавливаю жёрдочку...")
  58. if placeStick() then -- Устанавливаем жёрдочку
  59. print("Сажаю росток...")
  60. plantSapling() -- Сажаем росток
  61. end
  62. end
  63.  
  64. -- Выполняем сбор урожая в одном направлении
  65. local function processHarvesting()
  66. print("Собираю урожай...")
  67. harvestCrop() -- Собираем урожай
  68. end
  69.  
  70. -- Основной цикл работы
  71. while true do
  72. -- Этап 1: Посадка вокруг
  73. print("Посадка вокруг робота...")
  74. for i = 1, 4 do -- Обрабатываем 4 стороны
  75. processPlanting()
  76. robot.turnRight() -- Поворачиваемся направо
  77. end
  78.  
  79. -- Посадка ростка непосредственно под роботом
  80. print("Сажаю росток под роботом...")
  81. plantSaplingDown()
  82.  
  83. -- Этап 2: Ожидание роста урожая
  84. print("Ожидание роста урожая...")
  85. os.sleep(45) -- Ждём 45 секунд
  86.  
  87. -- Этап 3: Сбор урожая вокруг
  88. print("Сбор урожая вокруг робота...")
  89. for i = 1, 4 do -- Обрабатываем 4 стороны
  90. processHarvesting()
  91. robot.turnRight() -- Поворачиваемся направо
  92. end
  93.  
  94. print("Переход к следующему циклу...")
  95. os.sleep(2) -- Небольшая пауза перед следующим циклом
  96. end
  97.  
Advertisement
Add Comment
Please, Sign In to add comment