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

Карьер для очень дешевого робота на EEPROM

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

Хорошая идея.

Действительно, нафиг роботу ОСь?

Прошил - и отправил копать. =)

  • Like 4

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


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

Хорошая идея.

Действительно, нафиг роботу ОСь?

Прошил - и отправил копать. =)

Так ему еще и не нужен ни монитор, ни клавиатура, ни жесткий диск и все слоты можно забить инвентарями, да батарейками

  • Like 4

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


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

Почему мне так оперативно медальки не выдают? :D

Не работал с ЕЕРОМОМ. Можно редактировать "прошивку"? Ведь полезно изменять данные. Можно даже без моника.

  • Like 1

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


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

Почему мне так оперативно медальки не выдают? :D

Не работал с ЕЕРОМОМ. Можно редактировать "прошивку"? Ведь полезно изменять данные. Можно даже без моника.

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

PS: извиняюсь за ошибки, пишу с телефона

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

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


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

Жалко шахтера. Заблудится он в сыпучих блоках и будет ждать своего владельца на дне лавового озера.

 

И карьер проходить он будет медленно, роясь в инвентаре на каждом шаге.

 

И вот это издевательство над роботом желательно укоротить:

while (deepM % 3) ~= 0 do
    deepM = deepM - 1
end
  • Like 1

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


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

Жалко шахтера. Заблудится он в сыпучих блоках и будет ждать своего владельца на дне лавового озера.

 

И карьер проходить он будет медленно, роясь в инвентаре на каждом шаге.

Я когда - то думал над проблемой проверки инвентаря, можно вести учёт в памяти, хотя бы примерное представление что и где.

  • Like 1

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


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

Я когда - то думал над проблемой проверки инвентаря, можно вести учёт в памяти, хотя бы примерное представление что и где.

Тут две подзадачи, требующие оптимизации: найти слоты – изменившийся и соответствующий ему мусорный.

Первую я бы решил так:

-- очистить очередь сигналов
while computer.pullSignal(0)do end
-- добыть блок
robot.swing(3)
-- пропустить сигналы кроме нужного
repeat ev,slot=computer.pullSignal(0) until not ev or ev=="inventory_changed"
-- новый предмет в [slot]?
if ev=="inventory_changed"  then
  ...
При наличии контроллера инвентаря быстрее всего будет получить номер мусорного слота из таблицы по имени предмета.
  • Like 1

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


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

 лучше бы заменить

robot.swing(side)

.Например, 

while *чекаем блок по сайду(забыл)* do robot.swing(side) end

Ибо 1) Роботы будут лагать в гравиях 2) Роботы на серверах иногда тупят и не ломают блок. Или не двигаются. 

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

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


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

Не знаю, как на Скае, и что там вообще копать в небе, но на робике достаточно дать роботу кирку из эндия, которую предварительно нужно залинковать шифт-ПКМ на любой сундук, и робот будет кататься и копать и прямо в этот чест рес телепортить. А если в робота кинуть чанклодырь, то такой робот хоть из овера, хоть из незера, рес будет метать прямо в вашу АЕ систему сразу (чест нужно к АЕ подключить) А тут какие-то еще вайлетру свинги до сих пор обсуждаются и проверки мусора.  Это же баян прошлого века=)

  • Like 1

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


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

1) По поводу сыпучих блоков, только что все проверил (в сингле, т.к. на сервере нет возможности проверить) ни чего не тупит, робот работает исправно, проблем не замечено. А вот с обсидианом будут проблемы если если не дать роботу инструмент который разрушит этот блок.

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

3)

 

while (deepM % 3) ~= 0 do deepM = deepM - 1 end

Проверка на дурака, как её сделать короче, не нагородив if'ов, я не знаю.

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

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


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

 

Тут две подзадачи, требующие оптимизации: найти слоты – изменившийся и соответствующий ему мусорный.

Первую я бы решил так:

-- очистить очередь сигналовwhile computer.pullSignal(0)do end-- добыть блокrobot.swing(3)-- пропустить сигналы кроме нужногоrepeat ev,slot=computer.pullSignal(0) until not ev or ev=="inventory_changed"-- новый предмет в [slot]?if ev=="inventory_changed"  then  ...
При наличии контроллера инвентаря быстрее всего будет получить номер мусорного слота из таблицы по имени предмета.

смысл программы работать на eeprom, при минимальной комплектации робота, таблица предметов может потенциально привести к переполнению памяти и просто не влесть в память eeprom, на 1 планке ОП 1 уровня, а "аналоговая" проверка блоков работает медленнее (это надо еще проверить), но позволяет сделать фильтр довольно таки большой (если стоит достаточно улучшений на инвентарь).

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

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


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

Проверка на дурака, как её сделать короче, не нагородив if'ов, я не знаю.

depth = depth - (depth % 3)

 

А тут какие-то еще вайлетру свинги до сих пор обсуждаются и проверки мусора. Это же баян прошлого века=)

Если у игрока есть возможность сделать эндер-кирку, значит у него есть возможность не экономить на соплях и сделать нормального робота второго (третьего) уровня с монитором, клавиатурой и геолайзером в придачу. Мы же говорим про супер-дешевого робота с максимальным инвентарём! Изменено пользователем unknown
  • Like 1

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


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

 

 

depth = depth - (depth % 3)

Спасибо!

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


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

Не знаю, как на Скае, и что там вообще копать в небе, но на робике достаточно дать роботу кирку из эндия, которую предварительно нужно залинковать шифт-ПКМ на любой сундук, и робот будет кататься и копать и прямо в этот чест рес телепортить. А если в робота кинуть чанклодырь, то такой робот хоть из овера, хоть из незера, рес будет метать прямо в вашу АЕ систему сразу (чест нужно к АЕ подключить) А тут какие-то еще вайлетру свинги до сих пор обсуждаются и проверки мусора.  Это же баян прошлого века=)

Не знаю как там на робике, но если ни эндер кирки,ни АЕ,ни прочей ерундистики в таком роде не будет,копалка будет (почти) полностью бесполезной?

  • Like 1

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


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

Не знаю как там на робике, но если ни эндер кирки,ни АЕ,ни прочей ерундистики в таком роде не будет,копалка будет (почти) полностью бесполезной?

Что по твоему нужно добавить, что-бы "копалка" была полезной?

PS: есть какие-нибудь сжиматели lua кода, хочу прикрутить систему навигации, но места под нее не хватает.

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

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


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

Что по твоему нужно добавить, что-бы "копалка" была полезной?

Это копалка полезна,особенно что она использует только OC. Алекс же предлагает сделать копалку под сборку,которая "одноразовая".

  • Like 1

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


Ссылка на сообщение
Поделиться на других сайтах
но если ни эндер кирки,ни АЕ,ни прочей ерундистики в таком роде не будет,копалка будет (почти) полностью бесполезной?

если нет ни АЕ, ни ИК, ни эндер кирок, ни прочей "ерундистики", то тогда не копалка бесполезная, а ОС твой бесполезен вместе со своими копалками ванильными, так как копать для ЧЕГО тогда? Ради копания? :giggle:

 

Чего-то на твоем "квантовом мясе" я не видел ванильки + умной  ОС копалки змейкой онли, а вот ерундистики там был ох как много :D

  • Like 1

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


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

Добавил, скрины с примером работы.

 

Пример работы робота:

 

https://www.dropbox.....40.42.png?dl=0

 

https://www.dropbox.....40.51.png?dl=0

 

PS: Робот плохо работает с эндер-киркой, мусор летит в ящик.

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

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


Ссылка на сообщение
Поделиться на других сайтах
PS: Робот плохо работает с эндер-киркой, мусор летит в ящик.

Робот хорошо работает с эндер-киркой. Кирка просто по своей механике ВЕСЬ выкопанный рес отправляет в ящик, минуя робота. Робот и знать не знает и знать не должен, что он там выкопал. А ящик свой уже сортируй :)

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

  • Like 1

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


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

Но сама кирка слишком быстро ломается.

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


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

...

Не знаю. У меня на сервере всегда были проблемы с действиями робота. Он то не двигался, то не ломал. Даже не мог поставить блок иногда.  Пришлось все стандартные функции заменить.

 

Я тестил на скае своего робота. Задержки и прочее не помогало. Мне кажется в сингле таких проблем не должно быть.

 

UPD: протестил в сингле прогу. Был прав. Мобы мешают пройти. Карьер кривеет. Вроде из-за пинга(на сервере) может лагать из-за сыпучих блоков.

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

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


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

 

 

Не знаю. У меня на сервере всегда были проблемы с действиями робота. Он то не двигался, то не ломал. Даже не мог поставить блок иногда.  Пришлось все стандартные функции заменить.   Я тестил на скае. Задержки и прочее не помогало. Мне кажется в сингле таких проблем не должно быть.

Потестить бы на сервере, но для усовершенствования осталось мало места программа занимает  4 083 байта из 4092, надо уменьшать код.

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


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

но для усовершенствования осталось мало места программа занимает  4 083 байта из 4092, надо уменьшать код.

Можно удалить комменты. Или склонировать прогу. Пробелы вроде тоже память едят. Если я прав то можно кирпичом программировать. Можно всякие переменные типо "robot" заменить на "r". Конечно глаза будут страдать, но зато будет крутая прога.

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


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

Можно удалить комменты. Или склонировать прогу. Пробелы вроде тоже память едят. Если я прав то можно кирпичом программировать. Можно всякие переменные типо "robot" заменить на "r". Конечно глаза будут страдать, но зато будет крутая прога.

Полазив по сети, не нашел программы которая может сжимать lua код, поэтому решил написать свою на питоне, сегодня (завтра) выкачу, в планах изменение одинаковых переменных на одно - дву буквенные сочетания, удаление всех коменатариев, отступов

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

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


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

Написал уменьшалку, правда пока без замены переменных, но и сейчас результат хороший уменьшил с 4 083 байт до 2 182 байт.

Не знаю в какой раздел её закидывать, так что пока тут.

Это простой скрипт для питона:

Запуск:

python luaSmaller.py 'абсолютный путь к файлу'       (без кавычек)

по завершению выдаст 'done' и файл в тойже директории с припиской -small.lua

PS: Программа не тестировалась на Windows, кто может протестить отпишитесь, какие косяки вылезли, я исправлю

 

Скрипт:

https://www.dropbox.com/s/qzk7wj0ifm9e77c/luaSmaller.py?dl=0

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

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


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

Чую, это только портить код. А в шапке сайта сжималка не кошерная?

К тому-же есть еще crunch и мой алгоритм, который закидали какашками крипера.

  • Like 1

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


Ссылка на сообщение
Поделиться на других сайтах
А в шапке сайта сжималка не кошерная?

Чтож он так запрятан? Сразу и не поймешь что это выпадающее меню.

ps: минификатор в шапке сжал на 150 байт лучше, значит есть куда двигаться, но для меня удобнее скрип, т.к. не надо копировать вставлять

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

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


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

Когда то на нашем форуме обсуждался сжиматель lua-кода, который работал прямо из OpenOS. Я его даже себе скопировал и использовал пока диск не полетел. Кто понял о чем я, напомните пожалуйста.

 

Ага, нашел. Это блог Крутого

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

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


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

 

 

 

Не знаю, как на Скае, и что там вообще копать в небе, но на робике достаточно дать роботу кирку из эндия, которую предварительно нужно залинковать шифт-ПКМ на любой сундук, и робот будет кататься и копать и прямо в этот чест рес телепортить. А если в робота кинуть чанклодырь, то такой робот хоть из овера, хоть из незера, рес будет метать прямо в вашу АЕ систему сразу (чест нужно к АЕ подключить) А тут какие-то еще вайлетру свинги до сих пор обсуждаются и проверки мусора.  Это же баян прошлого века=)

Чур я сделаю! :)

 

  • Like 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

×