Как работает процессор
Программа идёт сверху вниз и начинается заново. Строки считаются с нуля, скорость мерится инструкциями за тик
Процессор не запускают и не останавливают: пока он стоит и в нём есть программа, он её выполняет. Инструкции идут сверху вниз, одна за другой; дошёл до последней — начал сначала. Так работает почти всё, что пишут на mlog: это не сценарий, который отработал и закончился, а бесконечный цикл.
Нажимайте «шаг»: рамка проходит обе строки и возвращается наверх, а итераций каждый раз
прибавляется на единицу.
Строки считаются с нуля
Заголовок раздела «Строки считаются с нуля»Первая инструкция — нулевая, вторая — первая. Это видно везде: в номерах слева от блоков,
в переходах, в @counter.
Скорость: инструкций за тик
Заголовок раздела «Скорость: инструкций за тик»Время в игре идёт тиками — шестьдесят в секунду. За один тик процессор выполняет не одну инструкцию, а столько, сколько положено его виду:
| Процессор | Инструкций за тик |
|---|---|
| микропроцессор | 2 |
| логический процессор | 8 |
| гиперпроцессор | 25 |
Это число лежит в @ipt — первая строка примера кладёт его в переменную. Отсюда простое
следствие: программа из двадцати инструкций на микропроцессоре проходит итерацию за десять
тиков, то есть шесть раз в секунду, а на гиперпроцессоре — семьдесят пять раз.
Одна и та же программа на разных процессорах поэтому ведёт себя по-разному: следящая за складом просто реагирует медленнее, а рисующая на дисплее начинает мигать.
Кнопка «шаг» в примерах выполняет одну инструкцию, а не тик: по тику ход программы не разглядеть, особенно на гипере.
Счётчик
Заголовок раздела «Счётчик»В окне переменных есть @counter — номер инструкции, которую процессор выполнит следующей.
Пока достаточно знать, что он там есть: по нему видно, где программа сейчас находится.
Счётчик не только показывает — в него можно писать, и запись в него это переход. Обычно
переходы пишут инструкцией jump, а счётчику как переменной
отведён свой урок: «@counter: переход как значение».
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.