BrainClub
Jump to navigation
Jump to search
BrainClub is a program language (invented by User:Zzo38) for compiling to client-brainfuck. The name is based on BrainSub (and a similar ideas) but "Cl" instead of "S" because it is "cl"ient-brainfuck.
There is a BrainClub compiler written in JavaScript and runs on XPC shell. Download at http://zzo38computer.org/brainclub/.
Examples
This program allows you to type something, and it puts spaces in between the letters.
."Make space" CR 0 BEGIN INPUT OUTPUT DUP 8 = IF DROP DROP THEN DUP 10 = IF DROP 0 THEN DUP WHILE REPEAT ."OK: " DROP REWIND ITERATE EMIT 32 OUTPUT NEXT CR
This code is a hangman game:
hangman.bcl =
\---------------------------\ \ Hangman game in BrainClub \ \---------------------------\ \ Subroutines : UPPERCASE DUP 96 > IF 32 - THEN ; : YOUWIN 1EMPH ."You win!" BEGIN {,} AGAIN ; : YOULOSE CR 1EMPH ."You lose!" BEGIN {,} AGAIN ; \ Declare variables ( LIVES 1 )VAR ( LETTER 1 )VAR ( CORRECTLETTER 1 )VAR ( BLANKS 1 )VAR ( WORDLENGTH 1 )VAR ( DISPLAYWORD 36 )VAR ( WORD 36 )VAR \ Initialize some variables 7 ( ! )LIVES \ Read word to play game with BEGIN ( 1+ )WORDLENGTH INPUT DUP ( @ )WORDLENGTH INDEX ( ! )WORD ?"." ( ! )DISPLAYWORD OUTDEX ?"!" = UNTIL ( 1- @ )WORDLENGTH ( ! )BLANKS \ Main game loop BEGIN CLS 1EMPH ." HANGMAN! " 0EMPH CR ." <" ( ZERO )BLANKS 0 BEGIN 1+ DUP INDEX ( OUTPUT @ )DISPLAYWORD OUTDEX ?"." = IF ( 1+ )BLANKS THEN DUP ( @ )WORDLENGTH = UNTIL DROP .">" CR ."Lives: " ( @ )LIVES ?"0" + EMIT CR ( @ )BLANKS 0= IF YOUWIN THEN ."Guess a letter: " INPUT UPPERCASE OUTPUT ( ZERO )CORRECTLETTER 0 BEGIN 1+ DUP INDEX ( @ )WORD OUTDEX ( 2 )PICK = IF 2DUP INDEX ( ! )DISPLAYWORD OUTDEX ( 1+ )CORRECTLETTER ( 1- )BLANKS THEN DUP ( @ )WORDLENGTH = UNTIL DROP DROP ( @ )CORRECTLETTER 0= IF ( 1- @ )LIVES 0= IF YOULOSE THEN THEN AGAIN
External resources
- http://zzo38computer.org/brainclub/ BrainClub compiler