BrainFuckFart

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

BrainFuckFart

BrainFuckFart a surprisingly fun language

Concept

I started creating BrainFuckFart as a simple C++ interpreter for BrainFuck. As I went and tried to create a "More or Less" game in BrainFuck I encountered a few limitations that I went and corrected as I went. By corrected, I really mean implemented. So as I go creating bigger projects with BrainFuckFart I will keep on implementing new features.

The project can be found on this github : BrainFuckFart
This page is open to PR and issues.

Commands

Character Name Description
+ Add Add 1 to the current cell
- Subtract Subtract 1 from the current cell
> Next Move to the next cell
< Previous Move to the previous cell
[ Loop Open Go to matching ']' if cell is 0
] Loop Back Go to matching '[' if cell is not 0
| End loop if 0 Go to the end of the loop if cell is 0
( Skip if not 0 Go to matching ')' if cell is not 0
) Skip end Marks end of Skip
* Jump Jump to the cell with the index of the current cell value consuming the current cell when jumping
, Input Store 1 user input in the current cell
. Output Prints the current cell value as an ASCII character
; Input Number Store the number the user input in the current cell (What if the user inputs a non integer?)
: Output Number Prints current cell value as a number
! Output Cell Index Prints current cell index
v Load Temp Load Temp cell value in current cell value (Temp value = register, stores one value)
^ Upload Temp Set Temp cell value to current cell value
? Random Set current cell to a random number (Range?)
/ Comment Encapsulate a part that isn't read even if it contains commands

Restrictions

This language is still claiming to be a spawn of the original BrainFuck and as such it will not accept characters that looks like letters (Let's be honest 'v' is just a downward arrow). It will also avoid to implement too much user friendly features there is already one register deal with it.

Open to

Graphics, networking, compilation, File/Module system, Typing, Function

Contact

You can contact me via github and the contacts out there.