⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piano.c

📁 这是本人最近利用业余时间变得
💻 C
字号:
#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#define KEY_WIDTH 60
#define KEY_HEIGHT 280
int ESC=27;

/*initialize the graphic*/
void initgr()
{
    int gd=DETECT,gm=0;
    initgraph(&gd,&gm,"E:\\turboc3");
    }   

 /*the key being pressed*/
void down(int x,int y)
{
    setcolor(WHITE);
    setfillstyle(SOLID_FILL,WHITE);
    bar(x,y,x+KEY_WIDTH,y+KEY_HEIGHT-13);

    setcolor(DARKGRAY);
    setfillstyle(SOLID_FILL,RED);
    bar(x,y+KEY_HEIGHT-13,x+KEY_WIDTH,y+KEY_HEIGHT);
    }  

/*the key being release*/
void up(int x,int y)
{
    setcolor(WHITE);
    setfillstyle(SOLID_FILL,WHITE);
    bar(x,y,x+KEY_WIDTH,y+KEY_HEIGHT-20);

    setcolor(DARKGRAY);
    setfillstyle(SOLID_FILL,DARKGRAY);
    bar(x,y+KEY_HEIGHT-20,x+KEY_WIDTH,y+KEY_HEIGHT);
    }    

void start()
{
    int i=0;
 /*set the background*/
    setbkcolor(LIGHTGRAY);

    /*this is the title*/           
    settextstyle(0,0,5);
    setcolor(RED);
    outtextxy(110,42,"SUPER PIANO");
   
         
    for(i=0;i<7;i++)
    {
	up(100+i*(KEY_WIDTH+5),110);
        }     /*the key*/

    settextstyle(0,0,1);
    setcolor(LIGHTRED);
    outtextxy(175,420,"KEY:1->a,2->s,3->d,4->f,5->j,6->k,7->l,Quit-Esc");
    setcolor(BLUE);
    outtextxy(215,440,"KEY:u->low,i->mid,o->high,p->highest");
    outtextxy(215,460,"All Rights to Angel.v");
    }

main()
{
    int i=0,p=0;
     char key=' ',key1,key2;

     initgr(); /* initialize the BGI */
    for(;;)
  {
  cleardevice();
   start();
    while(key!=ESC)
    {
	for(i=0;i<7;i++)
	{
	    up(100+i*(KEY_WIDTH+5),110);
	    }     /*release the key first*/

    if(p==0)
   {key1=getch();p=1;}

if(key1=='u'||key1=='U')
  { key=getch();
    switch(key)
        {
           case 'A':
	   case 'a':down(100,110);sound(131);delay(100);nosound();break;
           case 'S':	
           case 's':down(165,110);sound(147);delay(100);nosound();break;
           case 'D':	
           case 'd':down(230,110);sound(155);delay(100);nosound();break;
           case 'F':	
           case 'f':down(295,110);sound(176);delay(100);nosound();break;
           case 'J':	
           case 'j':down(360,110);sound(196);delay(100);nosound();break;
           case 'K':	
           case 'k':down(425,110);sound(220);delay(100);nosound();break;
           case 'L':	
           case 'l':down(490,110);sound(247);delay(100);nosound();break;
           default:break;
            }
  }

else if(key1=='i'||key1=='I')
  { key=getch();
    switch(key)
        {
           case 'A':
	   case 'a':down(100,110);sound(262);delay(100);nosound();break;
           case 'S':	
           case 's':down(165,110);sound(296);delay(100);nosound();break;
           case 'D':	
           case 'd':down(230,110);sound(329);delay(100);nosound();break;
           case 'F':	
           case 'f':down(295,110);sound(349);delay(100);nosound();break;
           case 'J':	
           case 'j':down(360,110);sound(392);delay(100);nosound();break;
           case 'K':	
           case 'k':down(425,110);sound(440);delay(100);nosound();break;
           case 'L':	
           case 'l':down(490,110);sound(493);delay(100);nosound();break;
           default:break;
            }
  }

 else if(key1=='o'||key1=='O')
  { key=getch();
    switch(key)
        {
           case 'A':
	   case 'a':down(100,110);sound(523);delay(100);nosound();break;
           case 'S':	
           case 's':down(165,110);sound(587);delay(100);nosound();break;
           case 'D':	
           case 'd':down(230,110);sound(659);delay(100);nosound();break;
           case 'F':	
           case 'f':down(295,110);sound(698);delay(100);nosound();break;
           case 'J':	
           case 'j':down(360,110);sound(784);delay(100);nosound();break;
           case 'K':	
           case 'k':down(425,110);sound(880);delay(100);nosound();break;
           case 'L':	
           case 'l':down(490,110);sound(987);delay(100);nosound();break;
           default:break;
            }
  }

 else if(key1='p'||key1=='P')
  { key=getch();
    switch(key)
        {
           case 'A':
	   case 'a':down(100,110);sound(1045);delay(100);nosound();break;
           case 'S':	
	   case 's':down(165,110);sound(1174);delay(100);nosound();break;
	   case 'D':
	   case 'd':down(230,110);sound(1318);delay(100);nosound();break;
           case 'F':	
           case 'f':down(295,110);sound(1396);delay(100);nosound();break;
           case 'J':	
           case 'j':down(360,110);sound(1568);delay(100);nosound();break;
           case 'K':	
           case 'k':down(425,110);sound(1760);delay(100);nosound();break;
           case 'L':	
           case 'l':down(490,110);sound(1976);delay(100);nosound();break;
           default:break;
            }
  }
  }
  cleardevice();
  outtextxy(200,200,"Really exit?");
  if( (key2=getch())=='n'||(key2=getch())=='N')
   {p=0;key=' ';}
   else break;
    }
   closegraph();
    }
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -