5751: (示例)如何实时响应键盘按键?
[Creator : ]
Description
大蟾蜍设计的贪吃蛇游戏是如何实时响应键盘按键的呢?
下面这段简单的代码能带你了解其中的奥秘!
#include <bits/stdc++.h> #include <conio.h> #include <windows.h> using namespace std; void gotoxy(int x,int y)//定位光标位置 { COORD point; point.X=x; point.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),point); } int main() { int x=10,y=10; gotoxy(x,y); cout<<"@"; while(1) { if(kbhit())//监测键盘是否击键 { char ch=getch(); gotoxy(x,y); cout<<" ";//清除原来位置上的符号; if(ch=='a'||ch=='A'||ch==75) x=x-1;//左移 if(ch=='d'||ch=='D'||ch==77) x=x+1;//右移 if(ch=='s'||ch=='S'||ch==80) y=y+1;//下移 if(ch=='w'||ch=='W'||ch==72) y=y-1;//上移 gotoxy(x,y); cout<<"@"; //在新的位置输出符号 } } }