AmBored

From Esolang
Jump to navigation Jump to search

AmBored is an esoteric language written by User:Is this the Krusty Krab. It is a Brainfuck derivative written in C++ which adds more commands and features primitive graphics. It was named so due to the fact that I am bored, so I am making this for fun. (The author has neither confirmed nor denied if it is also a pun on 'board', given that the program state is like a blackboard.)

Features

AmBored has an array the size of 256 by 256 cells, each cell represents a color.

Another two feature of AmBored are a stack, which operates like a normal stack you probably studied in school, college, or your room at night instead of sleeping, and a buffer able to store a value to be used later.

Syntax

The syntax is classic Brainfuck syntax, with a few changes and additions.

CMD Description
> Move the memory pointer right
< Move the memory pointer left
V Move the memory pointer down
^ Move the memory pointer up
+ Increment the pointed cell's colour
- Decrement the pointed cell's colour
[ Jump past the matching ] if the pointed cell is 0 (black)
] Jump back to the matching [ if the pointed cell is nonzero (not black)
, Input a number and write it to the pointed cell
. Refresh the screen
( Push the value of the pointed cell to the stack
) Pop the top value of the stack to the pointed cell
@ Assign the value at the top of the stack to the pointed cell
$ Pop the top value of the stack without writing it to the pointed cell
{ Rotate the value of the pointed cell to the left
} Rotate the value of the pointed cell to the right
/ Store the value of the pointed cell into the buffer
\ Write the value of the buffer to the pointed cell
0 - 7 Store the color corresponding to the number in the pointed cell.

Interface

As mentioned, the output is a screen of pixels, each with the color stored in them. There is also a command to refresh the screen. This is because the screen needs to be refreshed manually, to prevent the user from seeing the whole process of changing the frame.

Why? Because I said so.

The colors that can be represented by the pixels are:

Number Binary (RGB) Color
0 000 Black
1 001 Blue
2 010 Green
3 011 Cyan
4 100 Red
5 101 Magenta
6 110 Yellow
7 111 White

Examples

Color Cat

,[>,].

Graphical Hello, World!

>>>>>>>>>>>>>>>>>>>>>>>>>7>7>>>>>7>7>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>7>7>>>>>>>>>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v7>7>7>7>7>7>>>7>7>7>7>7>7>7>>>>>>>>>7>7>7>7>>>7>7>7>7>>>>>>>>>>>>>>>>>>7>7>7>7>7>7>>>>>>7>>>>>>7>7>7>7>7>>>>>>>>>>>>>>>>>>7>7>7>7>>>>>>>>7>7>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>7>7>7>7>>>>>7>7>7>7>>>>>>>>>>>>7>7>7>>>>7>7>7>>>>>>>>>>>>>>>>>>>7>7>7>7>>>>>>>7>>>>>>>7>7>7>>>>>>>>>>>>>>>>>>>>7>7>7>>>>>>>>>7>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>>>>>>>>>>>7>7>>>>>7>7>>>>>>>>>>>>>>>>>>>>7>7>7>>>>>>>7>7>>>>>>>7>>>>>>>>>>>>>>>>>>>>>>7>7>>>>>>>>>>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>>>>>>>>>>>7>7>>>>>7>7>>>>>>>>>>>>>>>>>>>>>7>7>>>>>>7>7>7>>>>>>7>7>>>>>>>>>>>>>>>>>>>>>>7>7>>>>>>>>>>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>>>>7>7>7>7>>>>7>7>>>>>7>7>>>>>7>7>7>7>7>>>>>>>>>>>>7>7>>>>>>7>7>7>>>>>>7>>>>>>7>7>7>7>7>>7>7>7>7>>7>7>7>>>>7>7>>>>>>7>7>7>7>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>>7>7>7>>7>7>>>>7>7>>>>>7>7>>>>7>7>7>>7>7>7>>>>>>>>>>>7>7>7>>>>7>7>7>7>7>>>>7>7>>>>>7>7>7>>7>7>7>>7>7>7>7>7>7>7>>>>7>7>>>>>7>7>>>7>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>7>7>7>7>7>7>7>7>>>>>7>7>>>>7>7>>>7>7>>>>>7>7>>>7>7>7>>>>7>7>7>>>>>>>>>>>7>7>>>>7>7>7>7>7>>>>7>7>>>>7>7>7>>>>7>7>7>>7>7>7>>7>7>>>>7>7>>>>7>7>>>>>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>7>7>7>7>7>7>7>7>>>>7>7>>>>>7>7>>>7>7>>>>>7>7>>>7>7>>>>>>7>7>>>>>>>>>>>7>7>7>>>7>>>7>7>7>>>7>>>>>7>7>>>>>>7>7>>7>7>>>>>>>>7>7>>>7>7>7>>>>>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>7>7>7>7>7>7>7>7>>>7>7>>>>>7>7>>>7>7>>>>>>7>7>>>>>>>>>>>7>7>7>>7>7>>>7>7>7>>7>7>>>>>7>7>>>>>>7>7>>7>7>>>>>>>>7>7>>>7>7>7>>>>>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>7>7>>>>>>>>>7>7>>>>>7>7>>>7>7>>>>>>7>7>>>>>>>>>>>>7>7>>7>>>>>7>7>>7>>>>>>7>7>>>>>>7>7>>7>7>>>>>>>>7>7>>>7>7>7>>>>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>7>7>>>>>>>>>7>7>>>>>7>7>>>7>7>>>>>>7>7>>>>>>>>>>>>>7>7>>>>>>>7>7>>>>>>>7>7>>>>>>7>7>>7>7>>>>>>>>7>7>>>7>7>7>>>>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>7>7>>>>>>>7>7>>>>7>7>7>>>>>7>>>7>7>>>>>7>7>>>7>7>7>>>>7>7>7>>7>7>>>>>>>>>7>7>7>7>>>>>7>7>7>7>>>>>>7>7>7>>>>7>7>7>>7>7>>>>>>>>7>7>>>>7>7>>>>>7>7>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>7>7>7>7>>>>>7>7>7>7>>>>7>7>7>7>7>7>7>>7>7>7>7>>>7>7>7>7>>>7>7>7>7>7>7>7>>>7>>>>>>>>>>>7>7>>>>>>>7>7>>>>>>>>7>7>7>7>7>7>7>>7>7>7>7>>>>>>7>7>7>7>>>7>7>7>7>7>7>7>7>7>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v7>7>7>7>7>7>>>7>7>7>7>7>7>7>>>7>7>7>7>7>>7>7>7>7>7>7>7>7>7>7>7>7>>>7>7>7>7>7>>>>7>7>>>>>>>>>>7>7>>>>>>>7>7>>>>>>>>>7>7>7>7>7>>7>7>7>7>7>7>>>>7>7>7>7>7>7>>>7>7>7>7>>7>7>7>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>7>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<v>>>>>>>>>>>>>7<<<<<<<<<<<<<v.

This outputs (ASCII representation):

                         ▄▄    ▄▄                                                          ▄▄         ▄▄    
▀████▀  ▀████▀▀        ▀███  ▀███                 ▀████▀     █     ▀███▀                 ▀███       ▀███ ██ 
  ██      ██             ██    ██                   ▀██     ▄██     ▄█                     ██         ██ ██ 
  ██      ██    ▄▄█▀██   ██    ██   ▄██▀██▄          ██▄   ▄███▄   ▄█    ▄██▀██▄▀███▄███   ██    ▄█▀▀███ ██ 
  ██████████   ▄█▀   ██  ██    ██  ██▀   ▀██          ██▄  █▀ ██▄  █▀   ██▀   ▀██ ██▀ ▀▀   ██  ▄██    ██ ██ 
  ██      ██   ██▀▀▀▀▀▀  ██    ██  ██     ██          ▀██ █▀  ▀██ █▀    ██     ██ ██       ██  ███    ██ ▀▀ 
  ██      ██   ██▄    ▄  ██    ██  ██▄   ▄██ ▄▄        ▄██▄    ▄██▄     ██▄   ▄██ ██       ██  ▀██    ██ ▄▄ 
▄████▄  ▄████▄▄ ▀█████▀▄████▄▄████▄ ▀█████▀  █▄         ██      ██       ▀█████▀▄████▄   ▄████▄ ▀████▀███▄█ 
                                            ▄█                                                              
                                           ▄▀                                                               

Ay btw

If you create something serious with AmBored, please send it to me at harambethereligiousgorilla@gmail.com so I can add it to this page and give you credit.

Interpriter

User:Monochromeninja made a python 3 interpriter. Try it out!

An ASCII image to AmBored converter by User:RikoMamaBala:

t=input();d=[];c=""
while t!='end':
 d.append(t);t=input()
for i in d:
 for j in i:c+=f'{j}>'if j in'01234567'else'>'
 c+='<'*len(i)+'v'
while'<>'in c or'><'in c:c=c.replace('<>',"").replace('><',"")
print(c+'.')

With this converter, a Hello, World! program can be constructed.

AmBored interpreter in Scratch, also by User:RikoMamaBala

See also