求问,进入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; }