Beep函数:https://baike.baidu.com/item/Beep%E5%87%BD%E6%95%B0/5420241?fr=aladdin
//演奏《牢不可破的联盟》
#include<bits/stdc++.h>
#include <windows.h>
//定义低音do到高音xi的频率
//前缀l为低音,m中音,h高音,a是半音阶
#define l1 262
#define l2 294
#define l3 330
#define l4 349
#define l5 392
#define l6 440
#define l7 494
#define m1 523
#define m2 578
#define m3 659
#define m4 698
#define m5 784
#define m6 880
#define m7 988
#define h1 1046
#define h2 1175
#define h3 1318
#define h4 1480
#define h5 1568
#define h6 1760
#define h7 1976
#define al1 277
#define al2 311
#define al4 370
#define al5 415
#define al6 466
#define am1 554
#define am2 622
#define am4 740
#define am5 831
#define am6 932
#define ah1 1046
#define ah2 1245
#define ah4 1480
#define ah5 1661
#define ah6 1865
using namespace std;
//定义速度和音符
const int speed=30;
const int all=16;
const int f2=8;
const int f4=4;
const int f8=2;
const int f16=1;
void v(int a,int b) {
//显示音高
Beep(a,b*speed);
// system("cls");
for(int i=0; i<b/2; i++) {
for(int i=41; i<234; i++) {
if(a/8>=i) {
cout<<'*';
}
}
cout<<endl;
}
}
void sleep(int a) {
Sleep(a*speed);
for(int i=0; i<a; i++) {
cout<<endl;
}
}
using namespace std;
int main() {
v(m5,all);
//演奏两遍
for(int i=0; i<2; i++) {
//1 19
v(m1,all);
v(m5,f2+f4);
v(m6,f4);
v(m7,all);
v(m3,f2);
v(m3,f2);
//2 20
v(m6,all);
v(m5,f2+f4);
v(m4,f4);
v(m5,all);
v(m1,f2+f4);
v(m1,f4);
//3 21
v(m2,all);
v(m2,f2+f4);
v(m3,f4);
v(m4,all);
v(m4,f2+f4);
v(m5,f4);
v(m6,all);
v(m7,f2+f4);
v(m1,f4);
v(h2,all+f2);
v(m5,f2);
//4 22
v(h3,all);
v(h2,f2+f4);
v(h1,f4);
v(h2,all);
v(m5,f2+f4);
v(m5,f4);
//5 23
v(h1,all);
v(m7,f2+f4);
v(m6,f4);
v(m7,all);
v(m3,f2);
v(m3,f2);
//6 24
v(m6,all);
v(m5,all+f2);
v(m4,all);
v(m5,all);
v(m1,f4+f8);
v(m1,f8);
//7 25
v(h1,all);
v(m7,f2+f4);
v(m6,f4);
v(m5,all+all);
//8 26
v(h3,all+all);
v(h2,f2);
v(h1,all);
v(m7,f2);
v(h1,f2);
//9 27
v(h2,all+f2);
v(m5,f2);
v(m5,all+all);
//10 28
v(m7,all+f2);
v(m3,f2);
v(m3,all);
sleep(all);
//11 29
v(h1,all);
v(m6,f2+f4);
v(m7,f4);
v(h1,all);
v(m6,f2+f4);
v(m7,f4);
//12 30
v(h1,all);
v(m6,f2+f4);
v(h1,f4);
v(m4,all);
v(m4,f2);
sleep(f2);
//13 31
v(h4,all+all);
v(h3,f2);
v(h2,f2);
v(m1,f2);
v(m2,f2);
//14 32
v(h3,all);
v(h1,all);
v(h1,all+all);
//15 33
v(h2,all+all);
v(h1,f2);
v(m7,f2);
v(m6,f2);
v(m7,f2);
//16 34
v(h1,all+f2);
v(m6,f2);
v(m6,all+all);
//17 35
v(h1,all);
v(m7,f2);
v(m6,f2);
v(m5,all);
v(m1,f2+f4);
v(m1,f4);
//18 36
v(h1,all);
v(m7,f2+f4);
v(m6,f4);
v(m5,all);
sleep(f2);
v(m5,f2);
}
//37
v(h1,all);
v(m7,f2);
v(m6,f2);
v(m5,all);
v(m1,f2+f4);
v(m1,f4);
//38
v(m5,all);
v(m6,f2);
v(m7,f2);
v(h1,all+all);
return 0;
}