Language Conzept 16
| Date: | 08/28/07 |
| Author: | Christian Worreschk |
| URL: | n/a |
| Comments: | 0 |
| Info: | http://www.vectorsoft.de |
| Score: |
// 99 bottles of beer - Conzept 16 version
// developed by Christian Worreschk
// August 28th, 2007 - Mainz, Germany
//
// This language is part of the development environment "Conzept 16" developped by vectorsoft
// http://www.vectorsoft.de/
DEFINE {
BOTTLE_COUNT : 99
}
SUB BottlePluralizer( aBottleCount : int ) : alpha
Local{ tBottleString : alpha }{
SWITCH( aBottleCount ) {
CASE 0 : tBottleString # 'no more bottles';
CASE 1 : tBottleString # '1 bottle';
DEFAULT : tBottleString # cnvAI( aBottleCount ) +' bottles';
}
RETURN tBottleString;
}
SUB buildFirstPartOfVerse( aBottleCount : int ) : alpha
Local{ tFirstPart : alpha ; tBottleString : alpha }{
tBottleString # BottlePluralizer( aBottleCount );
tFirstPart # tBottleString + ' of beer on the wall, ' + tBottleString + ' of beer.';
IF ( aBottleCount = 0 ) {
tFirstPart # 'N' + StrDel( tFirstPart, 1, 1 );
}
RETURN tFirstPart;
}
SUB buildSecondPartOfVerse( aBottleCount : int ) : alpha
Local{ tSecondPart : alpha ; tBottleString : alpha }{
IF ( aBottleCount = 0 ) {
aBottleCount # BOTTLE_COUNT;
tSecondPart # 'Go to the store and buy some more, ';
} ELSE {
dec( aBottleCount );
tSecondPart # 'Take one down and pass it around, ';
}
tBottleString # BottlePluralizer( aBottleCount );
tSecondPart # tSecondPart + tBottleString + ' of beer on the wall.';
RETURN tSecondPart;
}
SUB SingTheSong()
Local{ tBottleCounter : int ; tFirstPart : alpha ; tSecondPart : alpha }{
FOR tBottleCounter # BOTTLE_COUNT;
LOOP dec( tBottleCounter );
WHILE ( tBottleCounter >= 0 ) {
tFirstPart # buildFirstPartOfVerse( tBottleCounter );
tSecondPart # buildSecondPartOfVerse( tBottleCounter );
// Output in Debugger
DbgTrace( tFirstPart );
DbgTrace( tSecondPart );
DbgTrace('');
}
}
MAIN() {
DbgConnect( '*', y, y );
SingTheSong();
DbgDisConnect();
}
Download Source | Write Comment
Download Source | Write Comment
Add Comment
Please provide a value for the fields Name,
Comment and Security Code.
This is a gravatar-friendly website.
E-mail addresses will never be shown.
Enter your e-mail address to use your gravatar.
Please don't post large portions of code here! Use the form to submit new examples or updates instead!
Comments