Brainloller is simply a pixel based representation of the Brainfuck language. Like Brainfuck, Brainloller has a limited set of commands, all of which it copies from Brainfuck with the addition of two commands which allow you to change the direction (right, down, left, up) the program is evaluated in.
The two additional are needed due to Brainloller’s 2D nature. Where in Brainfuck you are able to evalulate the program one line at a time, always from left to right, Brainloller works with a two dimensional array of pixels. No real technical reason why Brainloller programs couldn’t be evaluated line by line, always going from left to right, but this is what the specification calls for and after all, this is an esoteric programming language, so we can’t complain.
Brainloller’s commands and what they do:
rgb(255, 0, 0)
(>
) and rgb(128, 0, 0)
(<
)
Move the pointer to the left and to the right. Keep an on the
memory cells by the editor -- the cell that has a black
background color is the active cell and the one where
increment, decrement, and loops will act on or check.
rgb(0, 255, 0)
(+
) and rgb(0, 128, 0)
(-
)
Increment and decrement the active cell. Note that incrementing
above 255 will ‘wrap’ the value back around to 0, and
decrementing below 0 will take you to 255.
rgb(0, 0, 255)
(.
) and rgb(0, 0, 128)
(,
)
Are the io functions. A period will output the character
associated with the ASCII in the active cell.
rgb(255, 255, 0)
([
) and rgb(128, 128, 0)
(]
)
Are the language’s only control flow operators. The code inside
of the loop is ran as long as that value of the active cell is
not zero.
rgb(0, 255, 255)
and rgb(0, 128, 128)
We start the program by checking the left-most pixel in the
first row. With these two commands we’re able to change that
direction by rotating +/- 90 degrees.
Start by running the sample code or creating basic programs on your own and see for yourself how with even the most basic control flow and altering commands you can technically accomplish any task. If you’re curious about the code and the interpreter that are running on this page, go here and here, and if you’d like to learn more about Brainloller and other really interesting esoteric programming languages then I recommend heading over to Esolang.
Here’s some information about your program: it is 14
pixels wide by 12
pixels tall. of which are valid commands. The interpreter is going to
interpret the character at coordinates (0,0)
, which is { r = 255, g = 0, b = 0 }
, and is rotated 0
degrees. The program has had no output yet.
none