BrainFuckFart
- 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.