Перейти к публикации
Форум - ComputerCraft
FesTeX

Нужны программы для робота.

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

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

Еще нужно чтобы еще 1 робот ломал этот блок перед собой буром из IC2 и нужно что бы он заряжал его(Я в курсе, что есть тема уже про это, но ничего не получилос)

Надеюсь вы поймете, что я от вас прошу

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

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


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

@@FesTeX, т.е. ставить блоки, кроме игрока, умеют только роботы? или там повально всем запрещено блоки ставить?

да и в целом одной проги хватит. в цикле берет блоки, ставит, разбивает. в каждой итерации цикла проверяет, не разряжен ли бур. если разряжен - кидает в энергохранилище, ждет, например, 10 секунд, забирает и возвращается к прежней программе. будет работать, пока не разрядится.

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

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


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

 


 

Проблема в том, что я щас играю на сервере в котором все приборы размещения блоков запрещены, я бы хотел чтобы роботы размещали блоки которые у них в руках и сами брали из сундука
Еще нужно чтобы еще 1 робот ломал этот блок перед собой буром из IC2 и нужно что бы он заряжал его(Я в курсе, что есть тема уже про это, но ничего не получилос)
Надеюсь вы поймете, что я от вас прошу


1 очень легко,2 тоже.Сейчас напишу.

 

Проблема в том, что я щас играю на сервере в котором все приборы размещения блоков запрещены, я бы хотел чтобы роботы размещали блоки которые у них в руках и сами брали из сундука
Еще нужно чтобы еще 1 робот ломал этот блок перед собой буром из IC2 и нужно что бы он заряжал его(Я в курсе, что есть тема уже про это, но ничего не получилос)
Надеюсь вы поймете, что я от вас прошу


Слушай,а не можешь сказать,сколько тебе надо секунд на зарядку бура?

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


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

Ладно,сделал.

Всё что тебе надо-делает один робот.

Если бур разрядится - он попадёт в мфсу

Структура:

Ставим всё как на видео.

Сундук для ресурсов сверху которые будем ломать-сверху

Сундук для сломанных ресурсов снизу

Справа от робота МФСУ,сзади зарядник

Перед роботом обязательно должна быть опора или улучшение "парениe",иначе робот попросту не сможет поставить блок.

Код-https://pastebin.com/FTSszpTq

Видео-https://youtu.be/5fSwKLfLAns

Установка:

Скопировать код и вставить его в нажатием insert,назвать файл можно по любому.

Удачи.

P.S А от опытных прошу посмотреть код и указать на ошибки.Если конечно,хотите.

Изменено пользователем BrightYC
  • Like 1

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


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

сделал

Судя по коду, программа рабочая.

 

Советы по улучшению кода интересуют? Если да, то рекомендую начать с приведения в порядок отступов. Правильные отступы сильно облегчают обнаружение шероховатостей кода.

  • Like 2

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


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

Если да, то рекомендую начать с приведения в порядок отступов. Правильные отступы сильно облегчают обнаружение шероховатостей кода.

Покажите как в порядок привести отступы.Я не понимаю,покажите и объясните как должен выглядеть хороший код(Желательно объяснить,а не кинуть просто красивый код)

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


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

не пойму одного зачем полньстью писать проги за игрока?

Я понимаю если он старается чтото сделать и у него чтот не выходит то помоч.

Но писать все вместо него --- нагло)

  • Like 1

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


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

не пойму одного зачем полньстью писать проги за игрока?

Я понимаю если он старается чтото сделать и у него чтот не выходит то помоч.

Но писать все вместо него --- нагло)

Опыт получить.

upd:К тому же,опыт нельзя купить,а идеи позволяют получить этот опыт.Опыт бесценен.

Изменено пользователем BrightYC
  • Like 1

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


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

@@BrightYC, я поступаю так - чем сильнее вложенность, тем больше отступов:

local function frog(gorf)
  print("Ква!")
  if gorf then 
    print("Ква-ква!")
  end
end

Также советую разделять пустыми строками участки кода:

local frog = require("Amphibia").Salientia.Anura()
local gorf = false
-- он не дает мне делать пустые строки
if not gorf then
  gorf = true
end
-- поэтому перебьюсь комментариями
local function somebody(once)
  print("told me")
end

Я не знаю, как это описать словами, но на практике выходит примерно так. 

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

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


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

 

Я не знаю, как это описать словами, но на практике выходит примерно так. 

Я не понял,если честно

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


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

@@BrightYC, открой свой код и посмотри на строки 10-15. Вот прямо как там.

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


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

Покажите как в порядок привести отступы.Я не понимаю,покажите и объясните как должен выглядеть хороший код(Желательно объяснить,а не кинуть просто красивый код)

Отступы, как и другие правила форматирования кода, не влияют на его работоспособность, но сильно влияют на его чтение. Любое оформление кода: отступы, разделение кода на строки, дополнительные пробелы, комментарии – должно подчёркивать мысль программиста. Отступы, например, помогают при беглом осмотре понять блочную структуру кода, что в какой оператор вложено.

 

Попробую разобрать имеющийся код:

5Xbus2f.png

Взяв в руки карандаш, я линиями отмечаю начало и конец каждого блока кода. Правильные отступы помогли бы обойтись и без карандаша, но это не наш случай. Цвет карандаша использую любой, тут главное, чтобы соседние линии не сливались.

 

* Первым я вижу ключевое слово function, отмечаю точкой начало оператора и ожидаю его завершения ключевым словом end.

* Но дальше встречаю оператор for, начало которого я токже отмечаю точкой и снова просматриваю код в ожидании end.

* следующие после for две команды оформлены с отступами, но потом отступ уменьшается, что создаёт иллюзию того, что эти команды в цикл не вложены, что не соответствует действительности. Но продолжаем искать end, завершающий for.

* Дальше встречается ключевое слово if, содержащиеся с нём команды, правильно оформленные отступом, а также закрывающее ключеове слово end. Тут сразу можно нарисовать линию, выделяющую этот блок команд.

* Дальше снова встречается if, закрываемый end. Отступ для команд выбран верный, а отступ для end следует уменьшить.

* потом встречается end. Смотрим, какая последняя точка ещё не превратилась в линию и видим, что этот end закрывает for. Да, он находится на одной линии с ним, так и должно быть. Но он находится и на одной линии с предыдущим if, и создаётся иллюзия, что закрывается именно if. Такие отступы дезориентируют и мешают поиску ошибок в коде.

* дальше отступы правильные, и хорошо видно, что end закрывает function.

 

Как привести отступы в порядок? Первые символы строк кода должны постоянно образовывать фигуры, напоминающие закрывающую квадратную скобку:

H67dTMf.png

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

  • Like 7

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


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

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

Обещаю,со следующего понедельника начну писать правильно.А сейчас делать красивым уже написанный код не хочется.

А вообще-спасибо.

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

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


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

сейчас делать красивым уже написанный код не хочется.

Не обязательно делать код красивым. Сделай его хотя бы понятным. Если, конечно, хочешь, чтобы кто-то читал его.
  • Like 2

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


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

Не обязательно делать код красивым. Сделай его хотя бы понятным. Если, конечно, хочешь, чтобы кто-то читал его.

Наоборот,если его понять не могут-это же хорошо))

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


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

Наоборот,если его понять не могут-это же хорошо))

Любопытный подход. И в чём же польза непонятного кода?
  • Like 2

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


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

Любопытный подход. И в чём же польза непонятного кода?

Если никто не сможет прочитать код-никто не сможет его критиковать если не сможет его понять

  • Like 1

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


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

Если никто не сможет прочитать код-никто не сможет его критиковать если не сможет его понять

Почему же никто не сможет? Настойчивый критик обычно открывает ссылку в меню форума: Сервисы > Lua > Форматтер Lua, вставляет код, клацает на «Beautify» и критикует в своё удовольствие. Кто же остановит настойчивого критика?

 

Менее настойчивые, конечно же, просто игнорируют темы с плохо оформленным кодом. Имеют право.

  • Like 2

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


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

@@BrightYC, для этого скорее нужно применять нестандартные логические решения. И потом все это обфусцировать и в минификатор.

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


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

Очистил

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

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


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

 

О существовании Lua 5.3 и побитовых операций не знает. В итоге, считая себя умнее меня, удаляет нужные скобки вокруг таковых. Молча.

 

А потом сиди и ищи обишку.

 

UPD: А, ты о форматтере, а не о минификаторе. Не советую использовать минификатор на Lua 5.3 коде.

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

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


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

 

UPD: А, ты о форматтере, а не о минификаторе. Не советую использовать минификатор на Lua 5.3 коде.

У меня 5.2,минификатор юзал давно

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


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

Если никто не сможет прочитать код-никто не сможет его критиковать если не сможет его понять

А не думаешь, что возможно кто-нибудь создаст наоборот прогу, которая сделает код более читаемым? Расставит отступы. Вполне реально же.

Да даже без отступов код вполне читаемый. Кому надо, тот и скомпилированный код декомпилирует. Я так пароли от тестников узнавал. Тут скорее вопрос в другом. Это в первую очередь ТВОЙ код и тебе он нужен.

Это как зубная щётка в общаге. Тебе важнее чтобы ею никто не пользовался и держать её грязной? Хотя она скорее всего никому и так не нужна. Или тебе больше нравится чистая щётка?

Подумай об этом.

Я бы выбрал второй вариант, как и многие здесь.

 

Хотя, если будешь писать бэкдоры, то это уже будет другой разговор) Но в данном коде их у тебя и не было.

  • Like 1

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


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

Это как зубная щётка в общаге. Тебе важнее чтобы ею никто не пользовался и держать её грязной? Хотя она скорее всего никому и так не нужна. Или тебе больше нравится чистая щётка?

Прекрасное сравнение.

 

Работа над любым проектом рано или поздно приостанавливается, а иногда приходится возвращаться к старому коду через полгода-год. И если бы не удобное оформление кода и комментарии, мне иногда было бы проще переписать код заново, чем разбираться в уже написанном. Через полгода для меня собственный код выглядит чужим. Но удобный для меня стиль, а также комментарии всякий раз экономят моё время. Очень рекомендую.

  • Like 3

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


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

 

 

Работа над любым проектом рано или поздно приостанавливается, а иногда приходится возвращаться к старому коду через полгода-год.

А главное, что код твой никому нахрен не нужен. Кроме тебя или работодателя. И смысла его шифровать и закрывать нет.

А если бы и был смысл. Любой код, тому кому он понадобится, тот взломает. Вон пираты взламывают все игры. Не смотря на антипиратское ПО.

Попытки защитить код написанием его нечитаемым - это просто нерационально.

Это как пересолить суп, чтобы его не съел твой кот. Который вообще не любит супы.

А те кто захочет съесть твой суп, те найдут нужные методы прочистить суп, провести через фильтры, центрифугу и очистить от соли.

 

Я тоже когда-то думал, что писать не читаемый код - это круто. Но потом посмотрел, что никто даже не запустил написанную мною игру. Понял, что оно то и вообще не кому не надо. А если кто-то и украдёт куски кода, то тут на помощь приходит лицензия. Авторское право.

Кто-то нарушил лицензию, украл код и начал продавать игру - можно подать в суд.

  • Like 1

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


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

Очистил

 

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

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×