Перейти к содержимому
Kartograf

Универсальная авто-ферма на жёрдочках

Рекомендуемые сообщения

Хочу вам всем представить своё первое детище и отдельно поблагодарить: TProger, Farlang и Fingercomp за помощь при создании этой программы, а также отдельное спасибо bob558 без него я бы вообще сегодня не кодил бы.

 

Так вот в чём суть программы:

Вы задаёте 4 переменных

 

ДЛИНА- расстояние от стартовой площадки робота до конца грядки перед ним,

 

ШИРИНА- то же самое что и длина только влево от робота,

 

СЛОТЫ- количество слотов инвентаря робота которые он освобождает,

 

ПРОМЕЖУТКИ- время раз в которое робот будет выезжать на своё грязное дело собирать урожай.

 

Все переменные можно сразу указать в начале кода.

Как правильно распологать робота показано снизу.

Если робот немного сместился не волнуйтесь позже он встанет на место.

Просьба писать о других багах в лс.

 

Ах да забыл робот едет змейкой вперёд назад. Располагать его нужно на первую грядку справа и убрать все факела нити и т.д. над жёрдочками.

 

http://pastebin.com/h2hxvXX9

post-16199-0-82108700-1449954888_thumb.png

post-16199-0-24920300-1449955188_thumb.png

post-16199-0-65685900-1449955192_thumb.png

Изменено пользователем Kartograf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Хочу вам всем представить своё первое детище и отдельно поблагодарить: TProger, Farlang и Fingercomp за помощь при создании этой программы, а также отдельное спасибо bob558 без него я бы вообще сегодня не кодил бы.
 

 

Ну если было столько акушеров, да еще и сам Fingercomp, даже код смотреть не будем. Это Байт-I  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Правда не могу понять одно. Если например есть два робота в соседствующих чанках робот будет адекватно работать в том чанке в котором игрок. А в соседнем посреди фермы зависнит

Изменено пользователем Kartograf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Количество слотов можно узнать из robot.inventorySize()

Какие программы залипают? Для того, чтобы робот нормально работал на сервере, надо постоянно делать проверку на корректность выполнения действий, иначе будет такой бред... Я про это однажды забыл, так робот все факела и лампы вырубил, а сам спрятался в угол, в который программа загнать его не могла.

 

P.S. Все ясно-понятно, цифры надобно выкинуть, сделать поворотники, при условии обнаружения стены, ибо робот пропускает движения.

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Немного критики.

 

1) Отступы скачут. Сделай жестко 2 пробела для блока, будет читать легче.

 

2) Называть переменные "a", "b", "c" - не айс. Желательно давать названия, которые сами по себе поясняют, что хранится в переменной.

Например - "width" (ширина), "height" (высота), "number" (число).

 

3) Что делает эта строка?

function unload()
  robot.turnRight()
  robot.detect()         <--- вот эта
  robot.select(chest)

4) Проверку на чет-нечет

if math.ceil(b/2) == b/2 then    -- это ведь она?

проще сделать так

if b%2 == 0 then

Операция % означает "остаток от деления на".

 

5) На деле программа спит не N секунд, а 10N.

for i=1, 10 do
    os.sleep(n)

Если я правильно понял код, надо использовать здесь os.sleep(n/10)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...