Totoro 3 562 Опубликовано: 21 мая, 2017 Затеял строить машинный зал, но вручную копать было лень. Поэтому я набросал небольшую (на 100 строк) программку. Всё что она умеет - это копать ямы. Я думаю все мы писали такие программки время от времени, чтобы помочь со строительством или добычей. И эта программа не представляет из себя ничего особенного нового. Я попробовал слегка оптимизировать процесс выемки породы, но не более. Предлагайте свои улучшения по коду и алгоритму, чтобы создать THE BEST ULTIMATE DIGGER EVER и возвести стандарты рытья ям на новый уровень! Код: https://pastebin.com/rQ71KRND Установка: 1) Вручную. Копируем текст программы, открываем новый файл командой edit dwarf, нажимаем Insert чтобы вставить код, а затем Ctrl+S и Ctrl+W чтобы сохранить и закрыть файл. 2) С Pastebin. Выполняем команду pastebin get rQ71KRND dwarf. 3) С Hel. Выполняем команду hpm install dwarf. 6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 136 Опубликовано: 21 мая, 2017 Предлагайте свои улучшения по коду и алгоритму, чтобы создать THE BEST ULTIMATE DIGGER EVER и возвести стандарты рытья ям на новый уровень!Первое, что бросается в глаза - избыточность перемещений робота. Лучшие модели копалок срезают три слоя за один проход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 21 мая, 2017 Первое, что бросается в глаза - избыточность перемещений робота. Лучшие модели копалок срезают три слоя за один проход. Хорошая идея. Надо будет только обработать случай с высотой не кратной 3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 21 мая, 2017 Огромный костыль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 21 мая, 2017 Огромный костыль. Почему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
davial 1 972 Опубликовано: 22 мая, 2017 (изменено) Хорошая идея. Но мне хватает, и своей простенькой наработки (roboshovel), для рытья ямок. =) Изменено 4 июня, 2018 пользователем davial Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 мая, 2017 Хорошая идея. Но мне хватает, и своей простенькой наработки (roboshovei), для рытья ямок. =) Ну тут тоже код простой. Мне просто интересно, можно ли ещё как-то повысить эффективность и так не сложной программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 136 Опубликовано: 23 мая, 2017 Помнится, на прошлом UT была проблема - найти не очень сложное, но и не слишком тупое задание. Может, в следующем UT устроить соревнование копалок? Только каждому из участников придется дать отдельные одинаковые поля, не зрелищно получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 мая, 2017 Помнится, на прошлом UT была проблема - найти не очень сложное, но и не слишком тупое задание. Может, в следующем UT устроить соревнование копалок? Только каждому из участников придется дать отдельные одинаковые поля, не зрелищно получится. Копалки скорее для конкурса-пятиминутки пойдут. Типа тех что были про "напиши 10 раз hello world" или "распарси bmp". Можно копалки-добывалки. Типа дать каждому одинаковый куб породы, окружённой бедроком, и кто эффективнее и быстрее выкопает всю руду. Не знаю насколько это будет увлекательно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
davial 1 972 Опубликовано: 28 мая, 2017 ...Не знаю насколько это будет увлекательно. Если сканить породу в кубе(общее выкопанное количество и количество выкопанной руды) и всё это выводить на монитор(для болельщиков), то будет интересно. "Кубик", естественно, генерить для всех участников одинаковый(копии одного и того же). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 136 Опубликовано: 28 мая, 2017 Если сканить породу в кубе(общее выкопанное количество и количество выкопанной руды) и всё это выводить на монитор(для болельщиков), то будет интересно.А сканировать чем? * Отладочная карта сканирует по одному блоку за тик. * Убрать шум на геосканере можно, но тогда игроки будут тупо сканировать всё поле, не слезая с зарядника, и лишь потом пойдут копать. * А если игрокам не давать геосканер, то копка станет совсем банальной. За прогрессом очистки территории можно хоть как-то наблюдать, в то время как при добыче руды роботы почти всегда скрыты в камне. Можно, конечно, убрать весь камень кроме руды, но тогда задача опять будет сведена к очистке территории, но только от руды, что принципиального значения не имеет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
HixOff 102 Опубликовано: 29 мая, 2017 За прогрессом очистки территории можно хоть как-то наблюдать, в то время как при добыче руды роботы почти всегда скрыты в камне. на стекло какое-нибудь камень заменить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
davial 1 972 Опубликовано: 4 июня, 2017 (изменено) А сканировать чем? ... Чем ? Это уже другой вопрос. А я говорил, про то : что надо сканировать админу ? Достаточно знать положение робота, относительно начала поля для копания. А всё остальное( поскольку у всех игроков в турнире - поля будут идентичны) - уже будет, в базе данных компьютера, выводящего информацию, на "большой экран" для болельщиков. Останется только - "считать блоки". Изменено 4 июня, 2017 пользователем davial Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 136 Опубликовано: 5 июня, 2017 А я говорил, про то : что надо сканировать админу ? Достаточно знать положение робота, относительно начала поля для копания.Положение робота не даёт прямой информации о выкопанных блоках. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах