• Пишем класс на php для интерпретации BrainLoller


    (Пример Brainloller кода увеличенного в несколько раз)

    BrainLoller — это визуальный диалект языка Brainfuck, в котором символьные команды заменяются на пиксели разных цветов, считываемые с изображения в формате *.png.
    Brainloller был придуман в 2005 году Lode Vandevenne.
    Цвета команд были выбраны как комбинации значений 0xFF и 0x80 для трех RGB компонент. В результате была получена следующая таблица команд:
    • + = 0x00FF00
    • — = 0x008000
    • > = 0xFF0000
    • < = 0x800000
    • [ = 0xFFFF00
    • ] = 0x808000
    • . = 0x0000FF
    • , = 0x000080

    В Brainloller добавлены также две дополнительные команды — 0x00FFFF (поворот указателя инструкций против часовой стрелки) и 0x008080 (поворот по часовой). Таким образом, “код” может записываться не в одну строку пикселей, а в двухмерное изображение. Перед началом выполения программы указатель инструкций находится в верхнем левом пикселе и направлен вправо. Изображение обрабатывается попиксельно, после каждой команды Brainfuck указательно инструкций сдвигается на один пиксель в том направлении, в котором он указывает. Выполнение программы заканчивается, как только указатель инструкций выходит за пределы изображения. (источник)

    К сожалению, исходный набор инструментов для работы с Brainloller был утерян и мы попробуем в этой статье восполнить пробел)
    Читать дальше →