·首页 ·asp ·.net ·php ·JSP ·CGI ·数据库 ·网页设计 ·网管专栏 ·XML ·工具软件 ·办公软件 ·操作系统 ·程序设计 ·LINUX 
  当前位置: 普克>>计算机教程>>程序设计>>CC++>>一架小钢琴——图形界面与发声技术的简单
flash视频教学

photoshop专题

asp.net专题

office专题

一架小钢琴——图形界面与发声技术的简单应用


CC++ 发表时间:2006-4-8 字体:  返回

/*
 * Super Piano, Version 1.0
 * Compiled by TCC.EXE
 * Coding Enviroment: Win-TC 1.72
 * Written by Lin Yiwei,from ZJU
 * Date: 2004-7-17
 */

#include<dos.h>
#include<conio.h>
#include<graphics.h>
#include<stdio.h>

#define closegr closegraph

#define KEY_WIDTH 60
#define KEY_HEIGHT 280

#define s 8051
#define d 8292
#define f 8550
#define g 8807
#define h 9064
#define j 9322
#define k 9579
#define ESC 283

/*function's prototype*/
void initgr()
{
    int gd=DETECT,gm=0;
    registerbgidriver(EGAVGA_driver);/*register BGI driver */
    registerbgifont(triplex_font); /*register BGI font*/
    registerbgifont(small_font);
    registerbgifont(sansserif_font);
    registerbgifont(gothic_font);
    initgraph(&gd,&gm,"");
    }   /*initialize the graphic*/

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,DARKGRAY);
    bar(x,y+KEY_HEIGHT-13,x+KEY_WIDTH,y+KEY_HEIGHT);
    }   /*the key being pressed*/

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);
    }    /*the key being release*/

void start()
{
    int i=0;

    initgr(); /* initialize the BGI */

    setbkcolor(LIGHTGRAY);
                /*set the background*/
    settextstyle(4,0,5);
    setcolor(BLUE);
    outtextxy(170,40,"SUPER PIANO");
    setcolor(RED);
    outtextxy(172,42,"SUPER PIANO");
    setcolor(YELLOW);
    outtextxy(174,44,"SUPER PIANO");
    setcolor(GREEN);
    outtextxy(176,46,"SUPER PIANO");
         /*this is the title*/
    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-s,2-d,3-f,4-g,5-h,6-j,7-k,Quit-Esc");
    setcolor(BLUE);
    outtextxy(215,440,"All Rights Reversed @ 2004-7");
    }

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

    key=bioskey(0);
    switch(key)
        {
        case s:down(100,110);sound(523);delay(3000);nosound();break;
        case d:down(165,110);sound(587);delay(3000);nosound();break;
        case f:down(230,110);sound(659);delay(3000);nosound();break;
        case g:down(295,110);sound(699);delay(3000);nosound();break;
        case h:down(360,110);sound(784);delay(3000);nosound();break;
        case j:down(425,110);sound(880);delay(3000);nosound();break;
        case k:down(490,110);sound(988);delay(3000);nosound();break;
            default:break;
            }
    }
    closegr();
    }

/*图形驱动和字体均注册(可生成完全独立的exe文件),因而要求有相应的图形驱动和字体连库*/

->



上一篇:一个模拟显示自然云彩的C程序
下一篇:24点扑克牌游戏

普克创业投资网刊载此文不代表同意其说法或描述,仅为提供更多信息。
在百度中搜索一架小钢琴——图形界面与发声技术的简单应用的相关内容]   [在狗狗中搜索一架小钢琴——图形界面与发声技术的简单应用的相关内容]
Copyright @ 2006 PUPK.COM 普克创业投资网 版权所有
 建议使用1024*768以达到最好的浏览效果