aboutsummaryrefslogtreecommitdiff
path: root/pbfi/pbfi-1.1/src/99BottlesOfBeer.bfk
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2026-03-26 19:27:18 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2026-03-26 19:27:18 +0100
commit7167b4341ef290d56fb96e2af10883a4b925d83b (patch)
tree1eb1b9e5ab82ddd89540e68d6b22ae69514575c6 /pbfi/pbfi-1.1/src/99BottlesOfBeer.bfk
downloadancient-projects-7167b4341ef290d56fb96e2af10883a4b925d83b.tar.gz
ancient-projects-7167b4341ef290d56fb96e2af10883a4b925d83b.zip
I found my old code!HEADmaster
Diffstat (limited to 'pbfi/pbfi-1.1/src/99BottlesOfBeer.bfk')
-rwxr-xr-xpbfi/pbfi-1.1/src/99BottlesOfBeer.bfk249
1 files changed, 249 insertions, 0 deletions
diff --git a/pbfi/pbfi-1.1/src/99BottlesOfBeer.bfk b/pbfi/pbfi-1.1/src/99BottlesOfBeer.bfk
new file mode 100755
index 0000000..d9d65d9
--- /dev/null
+++ b/pbfi/pbfi-1.1/src/99BottlesOfBeer.bfk
@@ -0,0 +1,249 @@
1Programma che stampa il testo completo della canzone 99 bottles of beer
2
3##########################
4###
5### Severely updated version!
6### (now says "1 bottle" and
7### contains no extra "0" verse)
8###
9##########################
10### 99 Bottles of Beer ###
11### coded in Brainfuck ###
12### with explanations ###
13##########################
14#
15# This Bottles of Beer program
16# was written by Andrew Paczkowski
17# Coder Alias: thepacz
18# three_halves_plus_one at yahoo dot com
19#####
20
21> 0 in the zeroth cell
22+++++++>++++++++++[<+++++>-] 57 in the first cell or "9"
23+++++++>++++++++++[<+++++>-] 57 in second cell or "9"
24++++++++++ 10 in third cell
25>+++++++++ 9 in fourth cell
26
27##########################################
28### create ASCII chars in higher cells ###
29##########################################
30
31>>++++++++[<++++>-] " "
32>++++++++++++++[<+++++++>-] b
33+>+++++++++++[<++++++++++>-] o
34++>+++++++++++++++++++[<++++++>-] t
35++>+++++++++++++++++++[<++++++>-] t
36>++++++++++++[<+++++++++>-] l
37+>++++++++++[<++++++++++>-] e
38+>+++++++++++++++++++[<++++++>-] s
39>++++++++[<++++>-] " "
40+>+++++++++++[<++++++++++>-] o
41++>++++++++++[<++++++++++>-] f
42>++++++++[<++++>-] " "
43>++++++++++++++[<+++++++>-] b
44+>++++++++++[<++++++++++>-] e
45+>++++++++++[<++++++++++>-] e
46>+++++++++++++++++++[<++++++>-] r
47>++++++++[<++++>-] " "
48+>+++++++++++[<++++++++++>-] o
49>+++++++++++[<++++++++++>-] n
50>++++++++[<++++>-] " "
51++>+++++++++++++++++++[<++++++>-] t
52++++>++++++++++[<++++++++++>-] h
53+>++++++++++[<++++++++++>-] e
54>++++++++[<++++>-] " "
55++>+++++++++++++[<+++++++++>-] w
56+>++++++++++++[<++++++++>-] a
57>++++++++++++[<+++++++++>-] l
58>++++++++++++[<+++++++++>-] l
59>+++++[<++>-] LF
60++>+++++++++++++++++++[<++++++>-] t
61+>++++++++++++[<++++++++>-] a
62+++>+++++++++++++[<++++++++>-] k
63+>++++++++++[<++++++++++>-] e
64>++++++++[<++++>-] " "
65+>+++++++++++[<++++++++++>-] o
66>+++++++++++[<++++++++++>-] n
67+>++++++++++[<++++++++++>-] e
68>++++++++[<++++>-] " "
69>++++++++++[<++++++++++>-] d
70+>+++++++++++[<++++++++++>-] o
71++>+++++++++++++[<+++++++++>-] w
72>+++++++++++[<++++++++++>-] n
73>++++++++[<++++>-] " "
74+>++++++++++++[<++++++++>-] a
75>+++++++++++[<++++++++++>-] n
76>++++++++++[<++++++++++>-] d
77>++++++++[<++++>-] " "
78++>+++++++++++[<++++++++++>-] p
79+>++++++++++++[<++++++++>-] a
80+>+++++++++++++++++++[<++++++>-] s
81+>+++++++++++++++++++[<++++++>-] s
82>++++++++[<++++>-] " "
83+>+++++++++++++[<++++++++>-] i
84++>+++++++++++++++++++[<++++++>-] t
85>++++++++[<++++>-] " "
86+>++++++++++++[<++++++++>-] a
87>+++++++++++++++++++[<++++++>-] r
88+>+++++++++++[<++++++++++>-] o
89>+++++++++++++[<+++++++++>-] u
90>+++++++++++[<++++++++++>-] n
91>++++++++++[<++++++++++>-] d
92>+++++[<++>-] LF
93+++++++++++++ CR
94
95[<]>>>> go back to fourth cell
96
97#################################
98### initiate the display loop ###
99#################################
100
101[ loop
102 < back to cell 3
103 [ loop
104 [>]<< go to last cell and back to LF
105 .. output 2 newlines
106 [<]> go to first cell
107
108 ###################################
109 #### begin display of characters###
110 ###################################
111 #
112 #.>.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
113 #X X b o t t l e s o f b e e r
114 #.>.>.>.>.>.>.>.>.>.>.>.
115 #o n t h e w a l l N
116 #[<]> go to first cell
117 #.>.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>>>>>>>>>>>>>.>
118 #X X b o t t l e s o f b e e r N
119 #.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
120 #t a k e o n e d o w n a n d p a s s
121 #.>.>.>.>.>.>.>.>.>.
122 #i t a r o u n d N
123 #####
124
125 [<]>> go to cell 2
126 - subtract 1 from cell 2
127 < go to cell 1
128
129 ########################
130 ### display last line ##
131 ########################
132 #
133 #.>.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
134 #X X b o t t l e s o f b e e r
135 #.>.>.>.>.>.>.>.>.>.>.
136 #o n t h e w a l l
137 #####
138
139 [<]>>>- go to cell 3/subtract 1
140 ] end loop when cell 3 is 0
141 ++++++++++ add 10 to cell 3
142 <++++++++++ back to cell 2/add 10
143 <- back to cell 1/subtract 1
144 [>]<. go to last line/carriage return
145 [<]> go to first line
146
147########################
148### correct last line ##
149########################
150#
151#.>.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
152#X X b o t t l e s o f b e e r
153#.>.>.>.>.>.>.>.>.>.>.
154#o n t h e w a l l
155#####
156
157 [<]>>>>- go to cell 4/subtract 1
158] end loop when cell 4 is 0
159
160##############################################################
161### By this point verses 99\10 are displayed but to work ###
162### with the lower numbered verses in a more readable way ###
163### we initiate a new loop for verses 9{CODE} that will not ###
164### use the fourth cell at all ###
165##############################################################
166
167+ add 1 to cell four (to keep it non\zero)
168<-- back to cell 3/subtract 2
169
170[ loop
171 [>]<< go to last cell and back to LF
172 .. output 2 newlines
173 [<]> go to first cell
174
175 ###################################
176 #### begin display of characters###
177 ###################################
178 #
179 #>.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
180 # X b o t t l e s o f b e e r
181 #.>.>.>.>.>.>.>.>.>.>.>.
182 #o n t h e w a l l N
183 #[<]> go to first cell
184 #>.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>>>>>>>>>>>>>.>
185 # X b o t t l e s o f b e e r N
186 #.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
187 #t a k e o n e d o w n a n d p a s s
188 #.>.>.>.>.>.>.>.>.>.
189 #i t a r o u n d N
190 #####
191
192 [<]>> go to cell 2
193 - subtract 1 from cell 2
194
195 ########################
196 ### display last line ##
197 ########################
198 #
199 #.>>>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
200 #X b o t t l e s o f b e e r
201 #.>.>.>.>.>.>.>.>.>.>.
202 #o n t h e w a l l
203 #####
204
205 [<]>>>- go to cell 3/subtract 1
206] end loop when cell 3 is 0
207+ add 1 to cell 3 to keep it non\zero
208
209[>]<. go to last line/carriage return
210[<]> go to first line
211
212########################
213### correct last line ##
214########################
215#
216#>.>>>.>.>.>.>.>.>.>>.>.>.>.>.>.>.>.>.>
217# X b o t t l e o f b e e r
218#.>.>.>.>.>.>.>.>.>.>.<<<<.
219#o n t h e w a l l
220#####
221
222[>]<< go to last cell and back to LF
223.. output 2 newlines
224[<]> go to first line
225
226#########################
227### the final verse ##
228#########################
229#
230#>.>>>.>.>.>.>.>.>.>>.>.>.>.>.>.>.>.>.>
231# X b o t t l e o f b e e r
232#.>.>.>.>.>.>.>.>.>.>.>.
233#o n t h e w a l l N
234#[<]> go to first cell
235#>.>>>.>.>.>.>.>.>.>>.>.>.>.>.>.>.>.>>>>>>>>>>>>>.>
236# X b o t t l e o f b e e r N
237#.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
238#t a k e o n e d o w n a n d p a s s
239#.>.>.>.>.>.>.>.>.>.
240#i t a r o u n d N
241#[>]< go to last line
242#<<<.<<.<<<.
243# n o
244#[<]>>>> go to fourth cell
245#>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>
246# b o t t l e s o f b e e r
247#.>.>.>.>.>.>.>.>.>.>.>.
248#o n t h e w a l l N
249#####fin## \ No newline at end of file

Generated with cgit - Back to sebastiano.tronto.net