| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:求问,进入play后只对ESC有反应,其他按键不动了
只看楼主 加入收藏
姚萌萌
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:40
专家分:55
注 册:2016-12-25
结帖率:66.67%
收藏
 问题点数:0 回复次数:0 
求问,进入play后只对ESC有反应,其他按键不动了
程序代码:
这是一个分函数,调用的函数也贴出来了,但是进来以后按键没反应,第一次按ESC可以退出来,如果第一次不是按ESC的话,再按其他键都没有反应了,求大神解答。。。拜托了
void play()
{
    int x,y,x1,y1,i,j;
    int e=20,PreKey_count=0,Hit_Count=0;
    char c,key;
    setbkcolor(BKColor);
    while(key!=ESC)
    {
        randomize();
        x=50+random(500);
        c=Generatechar();
        for(y=10;y<480;y++)
        {
            AutoDraw_down(x,y,c,speed);
            if(kbhit())
            {
                key=getch();
                if(key==ESC)
                return;
                else
                {
                    if(key==c)
                    {
                        x1=x;
                        for(y1=480;y1>=y;y1--)
                        AutoDraw_up(x1,y1,key,speed);
                        Hit_Count++;
                        setcolor(RED);
                        for(i=10;i<=30;i++)
                        {
                            circle(x1,y1,i);
                            Sleep(1000);
                        }
                    }
                    else
                    {
                        x1=x+e;
                        for(y1=480;y1>=10;y1--)
                        AutoDraw_up(x1,y1,key,speed);
                    }
                    PreKey_count++;
                }
                break;
            }
        }
        cleardevice();
    }
    closegraph();
    printf("PreKey:%d,Hit:%d\n",PreKey_count,Hit_Count);
    getch();
   

}
int speed=100;
void Drawchar(int x,int y,char c)
{
    char ch[2];
    ch[1]='\0';
    setfont(15,0,"宋体");
    outtextxy(x,y,ch);
}
void AutoDraw_down(int x,int y,char c,int n)
{
    setcolor(BKColor);
    Drawchar(x,y,c);
    setcolor(CColor);
    Drawchar(x,y+1,c);
    Sleep(n);
}void AutoDraw_up(int x,int y,char c,int n)
{
    setcolor(BKColor);
    Drawchar(x,y,c);
    setcolor(CColor);
    Drawchar(x,y-1,c);
    Sleep(n);
}
char Generatechar()
{
    int flag;
    char c;
    randomize();
    flag=random(3);
    switch(flag)
    {

        case 0:c='a'+random(26);
        break;
        case 1:c='A'+random(26);
        break;
        case 2:c='0'+random(10);
        break;
        default:break;
    }
    return c;
   

}
2017-03-30 13:41
快速回复:求问,进入play后只对ESC有反应,其他按键不动了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.332814 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved