程 序 源 代 码 |
|
|
| 芭蕾舞曲《四小天鹅》 说明:QBASIC语言具有两种音乐编程功能。一种是用SOUND语句,后面加上音调的频率和持续的时间;另一种是用PLAY语句,后面加上置于双引号里的表示八度音程区和音阶的字母以及表示音长的数字。如果引号里的内容多处重复,可用一表示字符串的变量名来替代。如本程序第30行的变量A$即表示:八度音程区为O0,音阶为A,音长为8分音符,接着是8度音程为O1,音阶为E,音长又为8分音符。第35行表示将第30行A$所表示的两个音符连续重复演奏4次。第20行表示节拍速度。本程序即为用QBASIC语言的后一种功能编程演奏的芭蕾舞剧《天鹅湖》中的一首乐曲。 |
5 CLS 10 LOCATE 12, 25: PRINT "芭蕾舞曲《四小天鹅》" 20 PLAY "T100" 30 a$ = "O0A8O1E8" 35 PLAY a$ + a$ + a$ + a$ 40 FOR i = 1 TO 2 45 IF i = 2 OR b = 1 THEN 55 50 PLAY "P8O3C8C8C8": b = 0: GOTO 60 55 PLAY "O2A8O3C8C8C8" 60 PLAY "C8.O2B32O3C32D8C8 " 65 PLAY "O2B8O3D8D8D8D8.C32D32E8D8" 70 PLAY "C8E8A8G#8E8O2B8O3E16D16C16O2B16" 80 PLAY "O2A8O3E8A8G#8O3E8O2B8O3E16D16C16O2B16" 90 NEXT 100 IF b = 1 THEN 230 110 FOR i = 1 TO 2: a = 0 120 PLAY "O2A8O3E8E8E8" 125 PLAY "E8E8A16G16F16E16 " 130 PLAY "D8E4F4C#4D8D8D8D8D8D8D8G16F16E16D16" 140 IF a = 1 THEN 180 150 PLAY "C8G8B16A16G16F16E8B8O4D16C16O3B16A16" 160 PLAY "O3G8E8E8E8" 170 a = 1: GOTO 125 180 PLAY "O3C8O2A8B16O3C16D16D#16E8O2E8F16F#16G16G#16" 190 NEXT 220 b = 1: GOTO 40 230 FOR i = 1 TO 2 240 PLAY "O2A8O3E8D8E16D16C8E8D8E16D16" 250 PLAY "C8E4D4C4O2B8" 260 NEXT 270 PLAY "O2A8O3G#8A4" 280 END |
|
|