Get Link
У связей есть порядок, и по нему их можно обойти — не зная заранее, что подключено
Связь можно назвать по имени — cell1, duo1, — а можно взять по номеру. Номер это
порядок подключения: первый подключённый блок нулевой, второй первый и так далее.
Программа обходит все связи и печатает, что нашла: container memory-cell message. Имён
блоков она при этом не знает и знать не обязана.
@links — сколько их всего
Заголовок раздела «@links — сколько их всего»getlink блок номерop add номер номер 1jump 0 lessThan номер @links@links — встроенная переменная процессора: число подключённых блоков. Именно ей заканчивают
цикл, а не числом: подключили ещё один блок — программа сама его увидит.
За последней связью — пустота
Заголовок раздела «За последней связью — пустота»| Номер | Что вернёт |
|---|---|
| 0 и 1 | подключённые блоки |
| 2 при двух связях | null |
1.9 |
связь номер 1: дробная часть отбрасывается |
Ошибки за границей нет — как и у памяти, ответом будет пустота.
Зачем перебирать связи
Заголовок раздела «Зачем перебирать связи»- Одна программа на разные базы. Подключили шесть буров вместо трёх — цикл сам обойдёт шесть.
- Поиск нужного блока. Обходим связи, спрашиваем
@typeилиsensor, находим тот, что искали. - Обход однотипных блоков. Выключить все турели, опросить все склады, собрать сумму меди по всем контейнерам.
getlink блок номерsensor тип блок @typejump 7 notEqual тип @containersensor меди блок @copperop add всего всего медиНеофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.