Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
99 bottles of beer
#3
Function 99_Bottles
Code:
Copy      Help
ARRAY(str) Tens.create(10)
Tens[0]=""
Tens[1]=""
Tens[2]="twenty"
Tens[3]="thirty"
Tens[4]="forty"
Tens[5]="fifty"
Tens[6]="sixty"
Tens[7]="seventy"
Tens[8]="eighty"
Tens[9]="ninety"
ARRAY(str) Ones.create(10)
Ones[0]="no more"
Ones[1]="one"
Ones[2]="two"
Ones[3]="three"
Ones[4]="four"
Ones[5]="five"
Ones[6]="six"
Ones[7]="seven"
Ones[8]="eight"
Ones[9]="nine"

ARRAY(str) Number
for int'i 0 100
,str s=i
,sel s.len
,,case 1
,,Number[]=F"{Ones[i]}"
,,case 2
,,if !(_s.get(s 1 1)=0) and !(_s.get(s 0 1)=1)
,,,Number[]=F"{Tens[val(_s.get(s 0 1))]}-{Ones[val(_s.get(s 1 1))]}"
,,if (matchw(s "1?")) and !(val(s)<=15) or (val(s)=14)
,,,Number[]=F"{Ones[val(_s.get(s 1 1))]}teen"
,,,Number[Number.len-1].findreplace("tt" "t")
,,if val(_s.get(s 1 1))=0 and !(i=10)
,,,Number[]=F"{Tens[val(_s.get(s 0 1))]}"
,,sel i
,,,case 10
,,,Number[]="Ten"
,,,case 11
,,,Number[]="Eleven"
,,,case 12
,,,Number[]="Twelve"
,,,case 13
,,,Number[]="Thirteen"
,,,case 15
,,,Number[]="Fifteen"
for(i 99 0 -1)
,str Verse=(F"{Number[i]} bottles of beer on the wall, {Number[i]} bottles of beer.[]Take one down and pass it around, {Number[i-1]} bottles of beer on the wall.[]")
,Verse.findreplace("one bottles" "one bottle" 2)
,_s.get(Verse 0 1)
,_s.ucase
,Verse.replace(_s 0 1)
,str Song.addline(Verse)
Verse=F"{Number[0]} bottles of beer on the wall, {Number[0]} bottles of beer.[]Go to the store and buy some more, {Number[Number.len-1]} bottles of beer on the wall."
_s.get(Verse 0 1)
_s.ucase
Verse.replace(_s 0 1)
Song.addline(Verse)
out Song


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)