# 99 bottles of beer in Brainf*ck # Copyright (C) 2008 Raphael Bois # 1671 brainf*ck instructions. # Published under GPL v2 Initialization ++ Counter for loop (a) >+ unused >++ Counter for loop (b) > Flag for 'no more' >+ Flag for not 'no more' >>> (5) to (7) : temporary values ++++++++++[->+>+>++++++++++<<<]>>> 10 10 100 in (8) (9) (10) >++++++++++ 10 in (11) [- >+++++ 50 in (12) >++++++++++ 100 in (13) >+++++++++++ 110 in (14) >++++++++ 80 in (15) >++++++++ 80 in (16) >+++ 30 in (17) >++++ 40 in (18) >+ 10 in (19) <<<<<<<<] + >-- + 48 '0' plus 1 in (12) >++ + 102 'f' plus 1 in (13) >+++++ + 115 's' plus 1 in (14) >-- + 78 'N' plus 1 in (15) >++++ + 84 'T' plus 1 in (16) >++ + 32 ' ' plus 1 in (17) >++++ + 44 comma plus 1 in (18) > + 10 LF plus 1 in (19) stuff for writing parts of the song >+ select stuff >+ select stuff >+ write song part 3 >++ write song part 1 >+ write song part 2 >+ Flag for 'end of song' >++ Flag for not 'end of song' All bytes are at val plus 1 Go back to (7) with final initialization step (remove 1 to all bytes) [-<] <<<<<<< at (0) [ loop (a) - >> at (2) [ loop (b) >>>>>>>> at (10) [ start loop <<<<<<< at (3) [->[-] print '(N|n)o more' >>>>>>>>>>>. '(N|n)' <----. 'o' >>>. ' ' <<<--. 'm' ++. 'o' +++.+ 'r' <-.+ 'e' <<+<<<<<<<< ]+> at (4) [-<[-]>>>>> at (9) prints number (using (9) and (10)) [>>>+<<<<+<+<+>>>-]<<<[->>>+<<<]> at (6) [>>>>>>+<<<<<<-]>>>