99 Bottles of Beer on the Wall Programs I've written

go back to my programs page

go back to my homepage

go to my weird languages page

These are just my 99BoB programs. If you want The 99BoB Page, go to http://www.ionet.net/~timtroyr/funhouse/beer.html

99 Bottles of Beer in mIRC script:

/beer99 {
  /set %bottles 99
  /set %beercolor 4
  :morebeer
  /echo %beercolor %bottles bottles of beer on the wall.
  /echo %beercolor %bottles bottles of beer...
  /echo %beercolor Take one down, pass it around,
  /dec %bottles
  if (%bottles == 1){goto onebeer}
  /echo %beercolor %bottles bottles of beer on the wall.
  /echo %beercolor $chr(255)
  goto morebeer
  :onebeer
  /echo %beercolor One bottle of beer on the wall.
  /echo %beercolor $chr(255)
  /echo %beercolor One bottle of beer on the wall.
  /echo %beercolor One bottle of beer...
  /echo %beercolor Take it down, pass it around,
  /echo %beercolor No more bottles of beer on the wall.
  unset %bottles
  unset %beercolor
}
99 Bottles of Beer in Bullfrog:
99
beer:
dup outn bottles doutsn wall doutsn
dup outn bottles doutsn dots doutsn
--
dup --!(onlyone morebeer-)*morebeer+jump
morebeer:
dup outn bottles doutsn wall doutsn
10 out
beer jump
onlyone:
onebottle doutsn wall doutsn
10 out
onebottle doutsn wall doutsn
onebottle doutsn dots doutsn
nomore doutsn bottles doutsn wall doutsn
end
bottles: " bottles of beer" datab 0
wall: " on the wall.
" datab 0
dots: "...
Take one down, pass it around,
" datab 0
onebottle: "One bottle of beer" datab 0
nomore: "No more" datab 0
99 Bottles of Beer in Brainf***:
>>>>>++++++++[<+++++++++>-]<+[>>[>]+[<]<-]>++++++++++[<+++++
+++++>-]<[>>[+>]<[<]<-]<++++++++[>++++++++[>>->->->>>>>>>>>>
>->>>->>>>>>->->->->>->>>->>>>->>>>>->->>>>>>->>>>->>>>>->->
>>>>->>>->>>>>>>->-[<]<-]>>++>++>->>+>++>++>+>>>>++>>->+>>->
>>>++>>+>+>+>--->>->+>+>->++>>>->++>>+>+>+>--->>-->>+>>->+>+
>>->>+>++>+>+>->+>>++>++>->>++>->>++>+>++>+>>+>---[<]<<-]>>>
++++>++++>+++>--->++>->->->>[-]>->-->[-]>+++>++>+>+++>--->>>
--->[-]>+>+>+>--->[-]>+++>++>+>+++>->+++>>+++>++>---->->->+>
--->[-]>->---->-->>+++>++>+>>+++>->++>++>+>->+++>+++>---->--
>-->+++>++++>->+++>---->--->++>>+>->->---[[<]<]+++++++++[<+<
+++++++++++>>-]<<[>>>>>[<]>[.>]>--[>.>]<[<<]>++>>>[.>]>[>]>[
.>]<[[<]<]>>[.>]>--[>.>]<[<<]>++>>>[.>]>[.>]>[>]>[.>]<[[<]<]
<<[<]>>>+<[>-]>[>]<[+++++++++[<+<->>>>>+<<<-]+<<[>>-]>>>[<]<
<<++++++++++>>[>>[-]+<<-]>>-<<]>>>-[>]>-<<[<]>[.>]>--[>.>]<[
<<]>++>>>[.>]>[>]>[.>]<.[[<]<]<<[<]>>-<-]

!99 Bottles of Beer in RSTS/E DCL:
$bott=99
$beer:
$write 0 bott, " bottles of beer on the wall."
$write 0 bott, " bottles of beer..."
$write 0 "Take one down, pass it around,"
$bott=bott-1
$if bott .eqs. 1 THEN GOTO onebeer
$write 0 bott, " bottles of beer on the wall."
$write 0 ""
$goto beer
$onebeer:
$write 0 "One bottle of beer on the wall."
$write 0 ""
$write 0 "One bottle of beer on the wall."
$write 0 "One bottle of beer..."
$write 0 "Take one down, pass it around,"
$write 0 "No more bottles of beer on the wall."

;99 Bottles of Beer in 80x86 Assembly Language:
.model tiny
.code
y equ word ptr
z equ offset
org 100h
l:
push cs
pop ds
mov si,99
m:
mov cx,8
mov bx,z a
n:
mov dx,[bx]
mov ah,9
int 21h
add bx,2
cmp cx,5
jne o
mov ax,y [b]
dec ah
cmp ah,'0'
jnb p
mov ah,'9'
dec al
p:
mov y [b],ax
cmp al,'0'
jne o
cmp ah,'1'
jne q
mov [a],z b1
mov [a2],z b1
mov [a3],z b1
q:
jnb r
mov [a],z b0
mov [a2],z b0
mov [a3],z b0
r:
cmp ah,'9'
jne o
inc [a]
inc [a2]
inc [a3]
o:
loop n
dec si
jnz m
int 20h
b db '99 bottles of beer','$'
b1 db 'One bottle of beer','$'
b0 db 'No more bottles of beer','$'
d db '...'
cr db 13,10,'$'
w db ' on the wall.',13,10,'$'
t db 'Take one down and pass it around,',13,10,'$'
a dw z b,z w
a2 dw z b,z d,z t
a3 dw z b,z w,z cr
end l

5 REM 99 Bottles of Beer on the Wall in BASIC
10 c = 99
20 w$ = " on the wall."
30 GOSUB 130
40 PRINT c; b$; w$
50 PRINT c; b$; "..."
60 PRINT "You take one down, pass it around,"
70 c = c - 1
80 GOSUB 130
90 PRINT c; b$; w$
100 PRINT
110 IF c > 0 THEN 20
120 END
130 b$ = " bottle" + STRING$((c = 1) + 1, "s") + " of beer"
140 RETURN