We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

braincraft

From Esolang
Jump to navigation Jump to search

braincraft is brainfuck but updates happen like minecraft.

updates

1.0 - barebones

the additions for 1.0 are:

+ increments the cell under pointer by 1
- decrements the cell under pointer by 1
x squares the cell under pointer
[ jump to ] if the cell under pointer is 0
] jump to [ if the cell under pointer is greater than 0
{ jump to } if the cell under pointer is greater than 0
} jump to { if the cell under pointer is 0
< move the pointer backwards 1 cell
> move the pointer forwards 1 cell
c move the pointer to cell 0
i move the pointer to cell input
. output the cell under pointer as ASCII
, input ASCII to the cell under pointer
& input numbers to the cell under pointer
/ output numbers to the cell under pointer
( add the cell to the left of the cell under pointer to the cell under pointer
) add the cell to the right of the cell under pointer to the cell under pointer
SPECIAL RULES:
cells wrap over 256->0

1.1 - string update

the additions for 1.1 are:

" string mode toggle
~ string mode print

in string mode, things are executed like this:

the first letter in string mode is put into the cell at pointer, then the cell at pointer is moved forwards 1 cell and the next letter is put, cycle repeats until end of string mode.

you can put ~ to print the string in its entirety and move the pointer to the start of when string mode was activated.

1.2 - wormhole update

the additions for 1.2 are:

← move the wormhole pointer backward 1 wormhole
l move the wormhole pointer to wormhole 0
· jump into wormhole at pointer
→ move the wormhole pointer forward 1 wormhole
ↄ move the wormhole pointer forward 1 wormhole if the cell at pointer is greater then 0
* exit if wormhole inside of is wormhole at wormhole pointer
w move the wormhole pointer to wormhole with the value of the cell at pointer
p move the wormhole pointer to wormhole with the value of the position of the pointer

all of these commands work while inside of a wormhole

1.3 - parallel dimensions update

2 enable two dimensionality
| path
} path split
\ path end downwards/begin downwards
/ path end upwards/begin upwards
z end a dimension
y end a dimension if cell at pointer is 0

old / gets moved to = in two dimensionality mode

at the end of the program, "o" marks the correct path

for example:

+++2++\+++++[>++++++++++<-]>.
      }
      \++++++[>+++++++++<-]>.o

prints c, while

+++2++\+++++[>++++++++++<-]>.o
      }
      \++++++[>+++++++++<-]>.

prints d. if no "o" is there, the toppest path is automatically picked.

1.4 - time travel update

t mark point in time
T travel to most recent marked point in time
b delete most recent marked point in time
F travel to most recent marked point in time if cell at pointer is greater than 0

1.5 - optimization update 1

' "~
n toggle number mode
A adds 65 to cell under pointer
a adds 97 to cell under pointer
f t with F at end of program. really good for short programs

number mode puts the number into the cell at pointer

programs

note: some programs may not be displayed for earlier versions (i.e. 1.0-1.4)

cats

number

1.0-1.3
&[/&]
1.4
t&/F
1.5-currnet
f&/

ASCII

1.0-1.3
,[.,]
1.4
t,.F
1.5-current
f,.

hello world

1.0

+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++[.>]<<<<.+++.------.<<-.>>>>+.

1.1-1.4

"Hello, world!"~

1.5-current

"Hello, world'

kiwiscript

1.1-1.4

"kiwi"~

1.5-current

"kiwi'

truth machine

1.0-1.3

&/[/]

1.4

&t/F

1.5-current

&f/

ASCII loop

1.0-1.3

+[.+]

1.4

t+.F

1.5-current

f+.