Befunge colored

From Esolang
Jump to navigation Jump to search

befunge-colored is a derivative of befunge-93 that has a few changes that allow for more colorful output.

Changes and Additions to befunge

befunge-colored does not add any new commands, however it does change two:

Command Changes
. Output integer - pops format flag, background r value, background g value, background b value, character r value, character g value, character b value, and finally the integer to print.
, Output character - Same as above, however prints a character instead of an integer.

befunge-colored's stack is near-infinite in size and holds signed 32-bit integer. It also extends the playfield near-infinitely, with each cell holding an unsigned 8-bit integer.

Format Flag

This value from 0 - 15 determines what effects will be applied on output.

Code Effect
0 No extra effect added.
1 Output is bold.
2 Output is italic.
3 Output is underlined.
4 Output is strikethrough.
5 Output is bold and italic.
6 Output is bold and underlined.
7 Output is bold and strikethrough.
8 Output is strikethrough and italic.
9 Output is strikethrough and underlined.
10 Output is italic and underlined.
11 Output is bold, italic, and underlined.
12 Output is bold, italic, and strikethrough.
13 Output is bold, underlined, and strikethrough.
14 Output is italic, underlined, and strikethrough.
15 Output is bold, italic, underlined, and strikethrough.
Any other number Treated as 0 and ignored.

Example programs

Hello Colorful World

Prints "Hello World" in a variety of colors and formats.

 >"!dlrow olleH"55*2*::27*3*::1,v
               v,9000:*53*3*55<
               >54*4*000002,v
           v,*35::*550*5*580<
           >0025*55**:::0,v
           v,000**25*55000<
           >55*52**000002,v
         v,*35::*550*5*580<
         >0025*5*:::0,v
       v,0**2500*55000<
       >0055*9*55*3*::4,@

External Resources

Interpreters

befunge-colored "official" interpreter for befunge-colored built on rust.