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

Продвинутое

Группа, симметричная «Основам», только с другого конца. В «Основах» — то, что нужно до инструкций; здесь — то, что поверх них и не привязано ни к одной.

Читать подряд не нужно и не стоит: каждый урок отвечает на вопрос, который возникает сам, когда программа перестаёт помещаться в голову.

  1. @counter: переход как значениеПереход — это не только jump. Номер следующей строки лежит в переменной, и его можно вычислить
  2. Число внутриЧисло в mlog одно на всё — дробное двойной точности. Отсюда и предел в 53 бита, и 0.1 + 0.2 ≠ 0.3
  3. Метки вместо номеров строкНомер строки в jump — не обязанность, а выбор. В текстовой записи цель можно назвать по имени
  4. Время: @time, @tick, @secondТик, секунда, минута и миллисекунда — одно и то же время в четырёх видах. Выбирать приходится по задаче
  5. Сколько стоит инструкцияУ процессора нет «дорогих» и «дешёвых» строк: он считает их штуками, и штук за тик ровно @ipt
  6. Упаковка данныхМест в памяти мало, а флаг у юнита один. Несколько чисел приходится складывать в одно
  7. Несколько процессоровОдин процессор — это одна очередь строк. Два идут параллельно — и это единственный способ ускориться, не меняя блок
  8. Пределы и редактор игрыТысяча инструкций, четыреста символов буфера, 256 команд рисования — пределы стоит знать до того, как упрёшься
  9. Тонкости языкаСобрание мест, где интуиция подводит: сравнения с допуском, пустота вместо бесконечности и объекты, которые равны только сами себе

Всё из «Основ» и хотя бы одну группу инструкций целиком. Уроки отсюда предполагают, что программы вы уже писали и упёрлись во что-то конкретное.

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