在贪吃蛇中定义了intokey( )函数[你也可以改成别的],整个函数体中的代码就是获取键盘的方向键值,倒数第2-5行是获取回车键值,按下回车键游戏就暂停。这里用direction表示方向,程序中UP、DOWN、LEFT、RIGHT分别固定代表1、2、3、4这四个值。第三行判断获得了向上的键值,第四行在direction不等于DOWN值(就是2)时执行 else { direction = UP; } 第(5、6);(7、8);(9、10)等行的意思,与这第(3、4)行类似,只是取值不同。要包含文件 #include<conioh> 。
void intokey()
{
if (GetAsyncKeyState(VK_UP) && 0x8000)
{ if (direction == DOWN) { } else {direction = UP; } }
if (GetAsyncKeyState(VK_DOWN) && 0x8000)
{ if (direction == UP) { } else {direction = DOWN; } }
if (GetAsyncKeyState(VK_RIGHT) && 0x8000)
{ if (direction == LEFT) { } else {direction = RIGHT; } }
if (GetAsyncKeyState(VK_LEFT) && 0x8000)
{ if (direction == RIGHT) { } else {direction = LEFT; } }
if (GetAsyncKeyState(VK_RETURN) && 0x0D)
{ while (1)
{ if (GetAsyncKeyState(VK_RETURN) && 0x0D) { break; } }
}
}
上下左右箭头 产生的键值是双键值,具体数值与你的键盘 设置 有关。
有可能 是 十进制
224 72 -- 上
224 80 -- 下
224 75 -- 左
224 77 -- 右
编程序,用
int key = getch(); 读 一个键值,如果 它等于 224, 则 再 读 一个键值 key2 = getch();
如果 key2 == 72 是 上箭头,else if (key2== 80) 是 下箭头;
else if (key2== 75) 是 左箭头;else if (key2== 77) 是 右箭头;
=========
关键语句:
int key, key2;
key = getch();
if (key==224) {
key2 = getch();
if (key2 == 72) 是 上箭头;
else if (key2== 80) 是 下箭头;
else if (key2== 75) 是 左箭头;
else if (key2== 77) 是 右箭头;
else {};
}
1,c++ builder 用法:
#include <vclh>
TIniFile GameIni = new TIniFile ("d:\\murongini");
AnsiString value;
value = GameIni->ReadString("Section2 Name", "KeyName2","");
delete GameIni;
2,VC
char value[20];
GetPrivateProfileString("Section2 Name","KeyName2",NULL,value,20,"d:\\murongini");
以上就是关于c语言中怎样输入和读取方向键全部的内容,包括:c语言中怎样输入和读取方向键、c语言中,如何获取上下左右箭头并判断、ini、配置文件、读取键值,源代码(C/C++),谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)