Продвинутое
Группа, симметричная «Основам», только с другого конца. В «Основах» — то, что нужно до инструкций; здесь — то, что поверх них и не привязано ни к одной.
Читать подряд не нужно и не стоит: каждый урок отвечает на вопрос, который возникает сам, когда программа перестаёт помещаться в голову.
- @counter: переход как значениеПереход — это не только jump. Номер следующей строки лежит в переменной, и его можно вычислить
- Число внутриЧисло в mlog одно на всё — дробное двойной точности. Отсюда и предел в 53 бита, и 0.1 + 0.2 ≠ 0.3
- Метки вместо номеров строкНомер строки в jump — не обязанность, а выбор. В текстовой записи цель можно назвать по имени
- Время: @time, @tick, @secondТик, секунда, минута и миллисекунда — одно и то же время в четырёх видах. Выбирать приходится по задаче
- Сколько стоит инструкцияУ процессора нет «дорогих» и «дешёвых» строк: он считает их штуками, и штук за тик ровно @ipt
- Упаковка данныхМест в памяти мало, а флаг у юнита один. Несколько чисел приходится складывать в одно
- Несколько процессоровОдин процессор — это одна очередь строк. Два идут параллельно — и это единственный способ ускориться, не меняя блок
- Пределы и редактор игрыТысяча инструкций, четыреста символов буфера, 256 команд рисования — пределы стоит знать до того, как упрёшься
- Тонкости языкаСобрание мест, где интуиция подводит: сравнения с допуском, пустота вместо бесконечности и объекты, которые равны только сами себе
Что нужно знать заранее
Заголовок раздела «Что нужно знать заранее»Всё из «Основ» и хотя бы одну группу инструкций целиком. Уроки отсюда предполагают, что программы вы уже писали и упёрлись во что-то конкретное.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.