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

Где лежит руда

Координаты руды не выписывают руками: карта у каждого своя, а поиск — одна строка

среднийНужно знать: Добыча, Привязка по типу
тик 0
Связь с юнитом0
тип
Поиск юнитом1
locateфлагвраг?рудаXYoutFoundoutBuild
Контроль юнита2
типxy
Информация3
=
у
Информация4
=
у
@counter0number
рудаXnullnull
рудаYnullnull
нашлосьnullnull
зданиеnullnull
грузnullnull
чегоnullnull
ubind @mono
ulocate ore core true @copper рудаX рудаY нашлось здание
ucontrol mine рудаX рудаY 0 0 0

Две строки находят медь и отправляют моно копать её. На этой карте ближайшая медь лежит на клетке 12 7 — туда юнит и летит, а груз начинает расти.

Поле Что в нём при поиске руды
первое ore
второе метка блока — при поиске руды не используется
третье «врага ли искать» — тоже не используется
четвёртое предмет: @copper, @lead, @titanium
пятое и шестое куда положить координаты клетки
седьмое нашлось или нет
восьмое здание — у руды его нет, придёт пустота

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

тик 0
Связь с юнитом0
тип
Поиск юнитом1
locateфлагвраг?рудаXYoutFoundoutBuild
Поиск юнитом2
locateфлагвраг?рудаXYoutFoundoutBuild
Стоп3
@counter0number
рудаXnullnull
рудаYnullnull
нашлосьnullnull
зданиеnullnull
нетXnullnull
нетYnullnull
титанЕстьnullnull
здание2nullnull

На этой же карте есть и свинец — в другой стороне. Поиск отдаёт 5 3, потому что считает расстояние от юнита, а не от процессора и не от ядра.

Значит, два юнита с одной и той же программой полетят к разным залежам: каждый к своей ближайшей. Отдельно разводить их по карте не надо.

Поиск ищет клетку, из которой добывается нужный предмет. Смотрит он не только на наложение — тот слой карты, где нарисованы руды, — но и на сам пол: песчаный пол роняет песок, и для поиска это такая же руда.

Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.