1个键盘输入处理的例子:GetKeyState

来源:互联网 发布:knife party知乎 编辑:程序博客网 时间:2024/05/22 02:21
<span style="font-family:Arial, Helvetica, sans-serif;">一个小例子,用于字符界面的键盘输入处理,在Windows7 ,dev-c++5.9.2下编译通过</span>
#include <Windows.h>#include <iostream>#pragma comment( lib, "user32.lib" )using namespace std;#define KEYDOWN(vk_code) ((GetKeyState(vk_code) & 0x8000)?1:0)enum{    E_MENU_START,    E_MENU_SETTING,    E_MENU_EXIT,};enum{    E_GAME_MENU,    E_GAME_START,    E_GAME_EXIT,};int main(int argc, char* argv[]){int iMenu=E_MENU_START;int iGame=E_GAME_MENU;while(true){Sleep(100);system("cls");if(iGame==E_GAME_MENU){if(KEYDOWN(VK_DOWN)){iMenu++;if(iMenu>E_MENU_EXIT)iMenu=E_MENU_START;}else if(KEYDOWN(VK_UP)){iMenu--;if(iMenu<E_MENU_START)iMenu=E_MENU_EXIT;}else if(KEYDOWN(VK_RETURN)){if(iMenu==E_MENU_EXIT)break;//iGame=E_GAME_MENU;}cout<<"##################################"<<endl;cout<<"##################################"<<endl;cout<<"##########     游戏     ##########"<<endl;if(iMenu==E_MENU_START){cout<<"########## ->游戏开始   ##########"<<endl;cout<<"##########   游戏设置   ##########"<<endl;cout<<"##########   退出游戏   ##########"<<endl;}else if(iMenu==E_MENU_SETTING){cout<<"##########   游戏开始   ##########"<<endl;cout<<"########## ->游戏设置   ##########"<<endl;cout<<"##########   退出游戏   ##########"<<endl;}else if(iMenu==E_MENU_EXIT){cout<<"##########   游戏开始   ##########"<<endl;cout<<"##########   游戏设置   ##########"<<endl;cout<<"########## ->退出游戏   ##########"<<endl;}cout<<"##################################"<<endl;cout<<"##################################"<<endl;cout<<"##################################"<<endl;}}system("pause");return 0;}

0 0
原创粉丝点击