Были огромные планы бурить роботами тоннели с расстановкой факелов. Но написание даже простой программы я не осиливаю((
[1.7.10] ComputerCraft [1.74]
#2821
Posted 11.09.2014 - 12:26
Сборка
#2822
Posted 11.09.2014 - 14:05
так в СС есть встроенный копатель туннелей(правда я не помню, ставит ли он факелы). А если он не устраивает, напиши идею, и тебе помогут с реализацией(пример копателя тунелей 1х3)(написал мин за 7 могут быть ошибки, проверить не могу, т.к. пользуюсь ОС):
#2823
Posted 11.09.2014 - 20:24
так в СС есть встроенный копатель туннелей(правда я не помню, ставит ли он факелы). А если он не устраивает, напиши идею, и тебе помогут с реализацией(пример копателя тунелей 1х3)(написал мин за 7 могут быть ошибки, проверить не могу, т.к. пользуюсь ОС):
Скрытый текст
Я тему перепутал. Как раз opencomputers и заинтересовали. Попытаюсь найти гайд на русском
Сборка
#2824
Posted 12.09.2014 - 12:17
вот переписанный код под ОС:
#2825
Posted 15.09.2014 - 20:38
То что я никак не могу понять програмирование роботов уже бесит(
Сборка
#2826
Posted 15.09.2014 - 21:38
Ну самая первая проблема, с которой я столкнулся: почему команда robot.forward() работает в интерпретаторе, и не работает в программе. как в последствии оказалось - надо было передать АПИ robot в переменную(например local turtle = require("robot") ) и уже через нее обращаться к АПИ.
#2827
Posted 16.09.2014 - 13:51
Я пока бросил все и пытаюсь в креативе создать робота. Который будет копать стоя в правом нижнем углу комнату с заданными длиной шириной и высотой по этому http://minecraft-ru....s/Шахта-тоннель примеру
Добавлено спустя 43 минуты:Пока не удался даже сам алгоритм. Выбрать кирку в слоте. Прокопать над собой пять блоков. Сдвинуться вперед, прокопать над собой пять блоков... Но как ему описать зону работы? Не повторять же сдвинуться-прокопать 32 раза а потом шаг влево-поворот и снова сдвинуться прокопать 32 раза?
Сборка
#2828
Posted 16.09.2014 - 14:42
Вот для компокрафта, у опенкомпов точно так же, только робот использует другие команды для копания и передвижения
turtle.select(1)
for i = 1, n do
for q = 1, 4 do
turtle.digUp()
turtle.up()
end
turtle.digUp()
for q = 1, 4 do
turtle.down()
end
turtle.dig()
turtle.forward()
end
n = необходимое кол-во раз
#2829
Posted 17.09.2014 - 13:35
Нет, все же это бесполезно. Я не могу понять этот код без комментариев. Всем спасибо
Сборка
#2830
Posted 17.09.2014 - 18:07
Какие конкретно строчки прокомментировать?
Для форумчан можно просто Олег.
#2831
Posted 17.09.2014 - 18:52
Вот немного измененный и более доступный для понимания
// Я не помню, как в луа пишутся комментарии, поэтому будут 2 слеша.
//Думаю понятно. n приравнивается к 10
n = 10
// Выбирается первый слот. Основная конструкция такая (turtle.select(n), где n = необходимый слот)
turtle.select(1)
// Определение цикла. Переменная i изначально будет равна единице.
// Число, которое стоит после n определяет то, сколько будет прибавляться к i после каждого повторения цикла. Если это число не указано (как, например, тут), то оно будет равно 1
// Цикл будет повторяться до тех пор, пока i не станет равен n.
// do - начало цикла
for i = 1, n, 1 do
// turtle.digUp() - сломать один блок над собой
turtle.digUp()
// turtle.up() - передвинуться на блок вверх
turtle.up()
turtle.digUp()
turtle.up()
turtle.digUp()
turtle.up()
turtle.digUp()
turtle.up()
turtle.digUp()
// turtle.down() - передвинуться на блок вниз
turtle.down()
turtle.down()
turtle.down()
turtle.down()
// turtle.dig() - сломать один блок перед собой
turtle.dig()
// turtle.forward() - передвинуться на блок вперед
turtle.forward()
// end - конец цикла
end
- rumickon likes this
#2832
Posted 17.09.2014 - 20:36
Мне такого не написать) официально сношу опенкомпы со сборки
Сборка
#2833
Posted 17.09.2014 - 20:45
что касаемо роботов из ОС. многие АПИ(интерфейсы, служащие для взаимодействия разных приложений. формально robot - отдельное приложение) OC надо подключать к нашей программе. Для этого присваиваем приложение какой нибудь переменной, и далее обращаемся к ней.
например делаем это след. образом:
local turtle = require("robot") или local robot = require("robot"). для дальнейшего описания, я буду использовать 1 вариант(проще переписывать программы от СС).
далее смотрим АПИ роботов. из всего, что надо, только turtle.dig() надо заменить на turtle.swing(). А код написанный сухариком изменится на:
Edited by KaMaPuK, 17.09.2014 - 20:55.
#2834
Posted 17.09.2014 - 20:47
Придется по старинке все в ручную долбить
Сборка
#2835
Posted 17.09.2014 - 20:55
если совсем с программированием трудно, опиши что ты хочешь от программы, помогу написать(чем полнее будет описана идея, тем более полно будет она реализована)
#2836
Posted 17.09.2014 - 21:35
Да вроде только копка коридоров как вы мне тут описали. И комнат с заданными размерами, х вперед, у высота я ширина собирая лут в что-нибудь. Ну или дронов на это подсадить уже смогу, собирать предметы Может еще рубка экзотических деревьев как красное дерево натура и священный дуб опленти. Но имхо это не реально реализовать даже с пачкой топоров и установленом tree capitator
Сборка
#2837
Posted 17.09.2014 - 22:25
Насчет комнат. Есть вот такая для компокрафта. Но тут уже со всякими наворотами как автоматическая заправка, дроп предметов в сундук (с поддержкой эндерчестов) и прочее. И судя по тому, как ты настроен на предыдущую программку, эта вообще непостижима
Вру, эта же копает, а не стены строит. Для стен будет проще.
#2838
Posted 18.09.2014 - 00:38
сначала простенькое, копка коридоров:
посложнее комната с заданными размерами(это мой первый опыт перекидывания программки с СС в ОС. мне так нравился карьер что я собрал в свое время на СС, что я решил его перенести в ОС(часть функционала я так и не дописал)):
а по поводу деревьев - можно и под них написать программку, основанную на robot.detect() если понадобится, могу завтра/послезавтра попробовать написать...
Edited by KaMaPuK, 18.09.2014 - 03:33.
#2839
Posted 18.09.2014 - 10:57
АААААААААААААА! я пока долблю зал на полтора чанка кремневыми кирками
Edited by Corvey, 18.09.2014 - 11:29.
Сборка
#2840
Posted 29.09.2014 - 23:21
Насчет комнат. Есть вот такая для компокрафта. Но тут уже со всякими наворотами как автоматическая заправка, дроп предметов в сундук (с поддержкой эндерчестов) и прочее. И судя по тому, как ты настроен на предыдущую программку, эта вообще непостижима
Вру, эта же копает, а не стены строит. Для стен будет проще.
посмотрел программу. запуск c параметрами вот удобный. но ничем больше не отличается от excavate. в том смысле что черепох роет только перед собой. шаг-блок-шаг-блок-шаг.... вот немного лопачу что бы рыла шаг-блок верх-блок прямо-блок низ - шаг. кстати если рыть вниз 1 блок то блоки черепаха невероятно быстро разрушает, даже не притормаживает . по крайне мере у меня (ftb techpack2)
6 user(s) are reading this topic
0 members, 6 guests, 0 anonymous users