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

Fetch

Радар видит вокруг себя, query — в области. Fetch видит всё, что есть у команды на карте

тик 0
Найти0
типрезультаткомандаиндексextra
Найти1
типрезультаткомандаиндексextra
Найти2
типрезультаткомандаиндексextra
Найти3
типрезультаткомандаиндексextra
Найти4
типрезультаткомандаиндексextra
Информация5
=
у
Найти6
типрезультаткомандаиндексextra
Информация7
=
у
Стоп8
@counter0number
своихЮнитовnullnull
своихЗданийnullnull
турелейnullnull
чужихЮнитовnullnull
ядроnullnull
медьВЯдреnullnull
первыйЮнитnullnull
типПервогоnullnull
fetch unitCount своихЮнитов @sharded 0 0
fetch buildCount турелей @sharded 0 @duo
fetch core ядро @sharded 0 0

Три вопроса к карте: сколько у нас юнитов (двое), сколько двойных турелей (тоже две) и где ядро. Расстояние тут ни при чём — fetch видит всю карту разом.

Поле Что в нём
первое что достаём: unit, build, core или их счётчики
второе куда положить
третье команда
четвёртое номер в списке, считая с нуля
пятое отбор по типу: блок для build, тип юнита для unit

Виды делятся пополам: половина отдаёт сам объект по номеру, половина — сколько их.

Отдаёт объект Отдаёт число
unit unitCount
build buildCount
core coreCount
player playerCount

Отсюда обычный вид перебора: сначала спросить счёт, потом ходить по номерам.

fetch unitCount сколько @sharded 0 0
set номер 0
fetch unit юнит @sharded номер 0
sensor здоровье юнит @health
op add номер номер 1
jump 2 lessThan номер сколько

Список идёт в порядке появления: кто раньше построен или создан, тот и раньше в списке. Номера в нём не закреплены ни за кем: погибнет юнит с номером 3 — всё, что было после, сдвинется на единицу.

radar query fetch
где ищет вокруг здания в области карты по всей карте
что отдаёт одного всех в области одного по номеру или счёт
кому доступен всем мировому мировому
ищет здания нет да да

fetch — единственный способ спросить «а сколько у врага юнитов вообще» или «где у него ядро», не обходя карту клетками.

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