键盘小钢琴[C语言][自制]
来源:互联网 发布:cf刷经验软件 编辑:程序博客网 时间:2024/05/01 17:50
大一上最喜欢的一个作品 。刚开始只是一个能自动发出小星星音乐的小程序XD
效果图:
代码如下:
/*This is a small piano.这是一个小钢琴哦~*/#include<stdio.h>#include<conio.h> //非缓冲输入#include<stdlib.h>#include<Windows.h>#pragma warning(disable:4996) //to use getche() in VS needs it#define TICK 450#define DOH 523#define RAY 587#define MI 659#define FA 698#define SOH 784#define LA 880#define TEE 980#define DOHH 1060#define RAYH 1175#define MIH 1318#define FAH 1397#define SOHH 1568#define LAH 1760#define TEEH 1976void welcome(void);void display(void);void playmusic1(void); //play music with colorvoid playmusic2(void); //play music without colorvoid thanks(void);void choose1(void); //choose a typevoid choose2(void); //choose a songvoid song1(void);void song2(void);char a;int choice,choice2;int main(void){welcome();if (choice == 2){printf("Enter numbers to play music:('p' to quit)\n");while (1){playmusic1();if (a == 'p')break;}}else{printf("Please choose the song you want to play:\n""1.Castle In The Sky(天空之城)\n2.星の在り処(星之所在)\n");choose2();}thanks();return 0;}void welcome(void){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);printf("1-DOH 2-RAY 3-MI 数字1到7,字母Q\n""4-FA 5-SOH 6-LA WERTYU分别对应音阶\n""7-TEE Q-DOHH W-RAYH\n""E-MIH R-FAH T-SOH\n""Y-LAH U-TEEH\n");display();choose1();}void display(void){int i;for (i = 0; i < 80; i++)printf("=");}void choose1(void){printf("Choose a game type:\n1.play songs(弹奏模式)\t2.free play(自由模式)\n");while ((scanf("%d", &choice)) != 1){while (getchar() != '\n');printf("Please enter a number ~");}display();}void choose2(void){while ((scanf("%d", &choice2)) != 1){while (getchar() != '\n')printf("Please enter a number ~");}display();if (choice2 == 1)song1();else song2();printf("Enter numbers to play music:('p' to quit)\n");while (1){playmusic2();if (a == 'p')break;}}void playmusic1(void) //发声并设置颜色{a = getch();switch (a){case '1':Beep(DOH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 30); printf("DOH "); break;case '2':Beep(RAY, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 60); printf("RAY "); break;case '3':Beep(MI, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 90); printf("MI "); break;case '4':Beep(FA, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 120); printf("FA "); break;case '5':Beep(SOH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 150); printf("SOH "); break;case '6':Beep(LA, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 180); printf("LA "); break;case '7':Beep(TEE, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 210); printf("TEE "); break;case 'q':Beep(DOHH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 30); printf("DOHH "); break;case 'w':Beep(RAYH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 60); printf("RAYH "); break;case 'e':Beep(MIH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 90); printf("MIH "); break;case 'r':Beep(FAH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 120); printf("FA "); break;case 't':Beep(SOHH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 150); printf("SOH "); break;case 'y':Beep(LAH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 180); printf("LA "); break;case 'u':Beep(TEEH, TICK); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 210); printf("TEE "); break;case '\n':break;default :break;}}void playmusic2(void) //发声{a = getch();switch (a){case '1':Beep(DOH, TICK); break;case '2':Beep(RAY, TICK); break;case '3':Beep(MI, TICK); break;case '4':Beep(FA, TICK); break;case '5':Beep(SOH, TICK); break;case '6':Beep(LA, TICK); break;case '7':Beep(TEE, TICK); break;case 'q':Beep(DOHH, TICK); break;case 'w':Beep(RAYH, TICK); break;case 'e':Beep(MIH, TICK); break;case 'r':Beep(FAH, TICK); break;case 't':Beep(SOHH, TICK); break;case 'y':Beep(LAH, TICK); break;case 'u':Beep(TEEH, TICK); break;case '\n':break;default:break;}}void thanks(void){putchar('\n');SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);display();printf("Thanks for playing~~~\n");system("pause");}void song1(void) //天空之城{printf("67Q7QE7 3656Q5 3434Q3 \n");}void song2(void) //星之所在{printf("Q7QE7 656Q5 434Q75 67QEW Q7QE75 67QWE REWQ7E\n");}
0 0
- 键盘小钢琴[C语言][自制]
- 用C语言编写钢琴小程序
- 键盘钢琴
- 键盘钢琴琴谱
- USB 钢琴键盘
- 汇编实现键盘钢琴
- 自定义钢琴键盘
- python键盘钢琴
- 键盘:代码?钢琴
- 娱乐-Jay键盘钢琴琴谱
- 【收集】键盘钢琴 和弦琴谱
- C语言自制文件分割器(简单)
- 猜数字小游戏[C语言][自制]
- (C语言)自制贪吃蛇
- 自制虚拟键盘Demo
- java 实现钢琴小程序
- 自制山寨小电脑,可以处理basic语言,
- C语言中的键盘录入
- WingIDE 5的安装与破解方法
- HDU 5319(Painter-暴力)
- ListView和GridView的item自动改变边距!
- 动态规划求最长递增子序列
- socket 网络编程快速入门(二)教你编写基于UDP/TCP的服务端多线程通信
- 键盘小钢琴[C语言][自制]
- 理解Linux系统中的load average
- jsp和Servlet区别
- 13个Xcode中常用的快捷键操作
- Android中通过反射获取资源Id
- 南通市现代医院
- 2005-2006 ACM-ICPC East Central North America Regional Contest (ECNA 2005) G.Swamp Things
- matlab初试牛刀__小练习
- Bellman-Ford算法