Небольшие заметки о том, как устроен мой проект "Искусственная жизнь".
В прошлый раз рассмотрели простейший вариант кода,
где под каждым числом подразумевается команда, либо безусловный переход.
Сегодня рассмотрим параметры команд.
Всего в моём мире есть восемь направлений. Если нам нужна функция поворота, то можем использовать 8 команд, по одной команде для каждого направления.
Но у нас всего 64 числа (0..63) и на все необходимые команды просто не хватит чисел.
Поэтому будем использовать параметры. Например, мы присвоили числу 25 команду поворот.
Когда указатель текущей команды (далее УКТ) укажет на ячейку с числом 25(повернуть), то мы также берём следующее число. Из этого числа мы узнаем, куда надо повернуть.
Число может быть от 0 до 63 (всего 64 числа), а направлений 8.
Что бы узнать направление, мы делим параметр на 8 и берём остаток от деления.
Получиться одно из 8 значений (0..7) - это и есть направление, куда надо повернуть.
Количество доступных чисел (64) кратно 8.