Что во что печатается
Печатать можно что угодно — и почти всё превращается в текст не так, как ждёшь
print берёт любое значение, а буфер — только текст. Значит, где-то посередине происходит
превращение, и знать его правила стоит: половина странных надписей на дисплеях родом отсюда.
Нажмите «шаг» семь раз. В буфере окажется copper container null 0.5.
Правила превращения
Заголовок раздела «Правила превращения»| Что печатаем | Что попадает в буфер |
|---|---|
| число, отличающееся от целого меньше чем на 0.00001 | целое без дробной части: 120 |
| остальные числа | как есть: 0.5, 3.25 |
| строка | сама строка, без кавычек |
| предмет, жидкость, блок, тип юнита | английское имя: copper, titanium-conveyor |
| здание | имя его блока: container, а не container1 |
| юнит | имя его типа: poly |
| команда | имя команды: sharded |
| пустота | слово null |
Здание печатается типом
Заголовок раздела «Здание печатается типом»Это первое, что удивляет. print container1 даёт container, а не container1.
Причина простая: имя связи принадлежит процессору, а не блоку. В самом здании такого имени нет вовсе — это ваша пометка в вашей программе, и соседний процессор может звать тот же контейнер иначе. Печатать нечего, кроме типа блока. Про имена связей — урок «Связи и getlink».
Пустота печатается словом
Заголовок раздела «Пустота печатается словом»print от null кладёт в буфер четыре буквы: null. Ни пустоты, ни нуля — именно слово.
Числа печатаются как в таблице переменных
Заголовок раздела «Числа печатаются как в таблице переменных»Правило то же самое и порог тот же: 0.00001. Отличается число от целого меньше — печатается целое, больше — полная запись, со всеми символами после запятой.
Порог не выдуман: он записан в самой игре, и та же стотысячная решает, каким показать число в окне переменных.
Из этого следует вещь, которая портит табло: op div доля 1 3 напечатается как
0.3333333333333333. Округлять надо самому — op round, op floor или умножение с делением,
и об этом урок «Целые и точность».
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.