Необходимо: 1. сам робот с минимальной конфигурацией 2. топор попрочнее 3. саженцы высокой ели (Fir Sapling) 4. зарядная станция для робота (запитанная есесно от источника питания) 5. сундук Желательно также: - пару стаков забора чтобы огородить ферму (мобы могут помешать логике робота) Скриншот 1 - https://www.dropbox.com/s/8ru9vxcxhyu6pkd/2015-01-04_19.32.27.png?dl=0 Скриншот 2 - https://www.dropbox.com/s/oykuwxce5getlb0/2015-01-04_20.38.54.png?dl=0 Сама ферма представляет собой выстроенные в ряд деревья с интервалом в 6 клеток (то есть каждое следующее на 7й клетке от предыдущего). Робот ставится сбоку (см.скрин 1) от первого дерева на высоте 2 (чтобы не видеть саженца, а видеть только выросшее дерево). Над "головой" робота ставится сундук для готовых бревен. Позади робота ставится зарядник. Длинна фермы не ограничена программой - робот поймет, что ферма кончилась, когда упрется во что нибудь, а под ним окажется тоже что нибудь. Для этого в конце фермы сделайте ступеньку из чего нибудь высотой в 2 блока (см.скрин 2).Важно чтобы каждое следующее дерево стояло ровно на 7й клетке от предыдущего (хотя этот параметр можно и изменить в программе. В 16й слот робота необходимо положить саженцы - без этого робот не начнет выполнять программу. Этим же можно воспользоваться, чтобы остановить работу робота без его выключения - просто выньте все саженцы из 16го слота и робот после выгрузки в сундук добытого завершит программу. Как закинуть программу на дискету и в робота я описывать не буду, читайте соответствующие гайды. Какие параметры можно изменить: - строка 41, цифры "1, 12" - робот выгружает в сундук из слотов 1-12 - строка 51, цифры "1, 7" - робот проходит 7 клеток до следующего дерева Сама программа: Спойлер -- Date: 04.01.2015 by TiM_Twiser local robot=require("robot") -- Rubka dereva function tree() if robot.detect() then print ("Cut down Tree...") robot.swing() robot.forward() robot.swingDown() while robot.detectUp() do if not robot.up() then robot.swingUp() robot.up() end end while not robot.detectDown() do robot.down() end robot.turnAround() robot.forward() robot.turnAround() robot.select(16) robot.place() robot.up() end end -- Vozvrat na nachalo function retreat() print ("Retreat to First tree...") robot.turnRight() while not robot.detectUp() do if robot.detect() then robot.swing() end robot.forward() end robot.turnLeft() end -- Vigruzka function drop() print ("Unloading...") for s = 1,12 do robot.select(s) robot.dropUp() end robot.select(1) end -- Perehod k sledujushemu derevu function nexttree() print ("Going to next Tree...") robot.turnLeft() for i = 1, 7 do if robot.detect() then robot.swing() end robot.forward() end robot.turnRight() end -- MAIN PROGRAM while robot.count(16) > 0 do while not robot.detectDown() do if robot.detect() then tree() else os.sleep(10) tree() end nexttree() end retreat() drop() end ЗЫ: Старался сделать программу более краткой и понятной, поэтому не включил в нее некоторые дополнительные функции, типа замены инструмента при износе и тд.
Вижу особых вопросов ни у кого по программе нет. Это значит, что либо никого это вообще не интересует, либо все понятно и без разъяснений. Значит просо выкладываю обновленную версию выше представленной программы без разьяснений. если что непонятно - спрашивайте. Сама программа: Спойлер -- Date: 08.01.2015 by TiM_Twiser local robot=require("robot") local comp=require("computer") -- Rubka dereva function tree() if robot.detect() then robot.select(1) robot.swing() robot.forward() robot.swingDown() while robot.swingUp() do robot.up() end robot.select(15) while not robot.compareDown() do robot.swingDown() robot.down() end robot.back() robot.select(16) robot.place() robot.select(1) robot.up() end end -- Proverca zapolnenia inventora function check() robot.select(12) return robot.count() > 0 end -- Vozvrat na nachalo function retreat() robot.turnRight() while robot.swing() or not robot.detect() do robot.forward() robot.select(16) robot.suckDown() end robot.turnLeft() drop() while comp.energy() < 5000 do print ("Battery Low. Wait..") os.sleep (30) end end -- Vigruzka function drop() for s = 1,12 do robot.select(s) robot.dropUp() end robot.select(1) end -- Perehod k sledujushemu derevu function nexttree() robot.turnLeft() if robot.detect() then robot.swing() end robot.forward() robot.turnRight() end -- MAIN PROGRAM while robot.count(16) > 0 or robot.durability() < 30 do if robot.detectDown() then retreat() else tree() end if check() then retreat() else nexttree() end end
вот мне совсем ничего не понятно по программе. в том смысле, откуда взялась? и где можно найти какие-нибудь другие подобные программы?
Читай/смотри гайды по OpenComputers Туториалы на русской вики: http://minecraft-ru.gamepedia.com/O....83.D1.82.D0.BE.D1.80.D0.B8.D0.B0.D0.BB.D1.8B Видеогайды на русском (у чувака на канале) Спойлер Оф. вики http://ocdoc.cil.li/ Оф. форум, где, в частности, можно найти программы http://oc.cil.li/index.php?/index Для всего остального