Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local robot = require("robot")
- -- Проверяем, установлен ли блок перед роботом
- local function isBlockInFront()
- return robot.detect()
- end
- -- Устанавливаем жёрдочку перед роботом
- local function placeStick()
- robot.select(1) -- Выбираем слот 1 с жёрдочками
- if robot.place() or isBlockInFront() then -- Проверяем, установлен ли блок
- print("Жёрдочка установлена перед роботом!")
- return true
- else
- print("Не удалось установить жёрдочку перед роботом (ошибка установки).")
- return false
- end
- end
- -- Сажаем росток перед роботом
- local function plantSapling()
- robot.select(2) -- Выбираем слот 2 с ростками
- if robot.place() then
- print("Росток посажен перед роботом!")
- return true
- else
- print("Не удалось посадить росток перед роботом (место занято).")
- return false
- end
- end
- -- Сажаем росток под роботом
- local function plantSaplingDown()
- robot.select(2) -- Выбираем слот 2 с ростками
- if robot.placeDown() then
- print("Росток посажен под роботом!")
- return true
- else
- print("Не удалось посадить росток под роботом (место занято).")
- return false
- end
- end
- -- Собираем урожай перед роботом
- local function harvestCrop()
- if robot.swing() then
- print("Урожай перед роботом собран!")
- return true
- else
- print("Перед роботом нет урожая.")
- return false
- end
- end
- -- Выполняем посадку (жёрдочка + росток) в одном направлении
- local function processPlanting()
- print("Устанавливаю жёрдочку...")
- if placeStick() then -- Устанавливаем жёрдочку
- print("Сажаю росток...")
- plantSapling() -- Сажаем росток
- end
- end
- -- Выполняем сбор урожая в одном направлении
- local function processHarvesting()
- print("Собираю урожай...")
- harvestCrop() -- Собираем урожай
- end
- -- Основной цикл работы
- while true do
- -- Этап 1: Посадка вокруг
- print("Посадка вокруг робота...")
- for i = 1, 4 do -- Обрабатываем 4 стороны
- processPlanting()
- robot.turnRight() -- Поворачиваемся направо
- end
- -- Посадка ростка непосредственно под роботом
- print("Сажаю росток под роботом...")
- plantSaplingDown()
- -- Этап 2: Ожидание роста урожая
- print("Ожидание роста урожая...")
- os.sleep(45) -- Ждём 45 секунд
- -- Этап 3: Сбор урожая вокруг
- print("Сбор урожая вокруг робота...")
- for i = 1, 4 do -- Обрабатываем 4 стороны
- processHarvesting()
- robot.turnRight() -- Поворачиваемся направо
- end
- print("Переход к следующему циклу...")
- os.sleep(2) -- Небольшая пауза перед следующим циклом
- end
Advertisement
Add Comment
Please, Sign In to add comment