C语言怎么输入方向键左?

2024-12-03 02:21:10
推荐回答(3个)
回答1:

#include
#include 
int main()
{
int key1,key2; 
while(key1 = _getch())
{
if(key1 == 27)//ESC建退出
break;
key2 =_getch();
if(key1 = 224)
{
switch(key2)
{
case 72:
printf("up!\n");
break;
case 75:
printf("left!\n");
break;
case 77:
printf("right!\n");
break;
case 80:
printf("down!\n");
break;
}
}
}
return 0;
}

方向键,按1个键,有2个信号。数值与操作系统键盘设置有关。判断方向键需要2个键值。win-7 键值如下:
int key1,key2; key1 = getch(); key2 =getch();
上移  224,72  (0xe0,0x48)
左移  224,75  (0xe0,0x4b)
右移  224,77  (0xe0,0x4d)
下移  224,80  (0xe0,0x50)
ESC 是单信号,27 (0x1b)

另外楼主要做游戏的话windows编程才是王道啊,建议楼主先去了解下windows的消息机制,windows编程的API虽然很复杂,但是它有模版,写的时候改模版就行了,不用刻意记,写多了就记住了。推荐楼主去看一下windows程序设计。

回答2:

windows 函数有这个API
或者用最简单的getchar就可以
上下左右四个键,每个都可以从getchar获取到3个字节数据
分别是
上:0x1b5b41

下:0x1b5b42
左:0x1b5b44
右:0x1b5b43

回答3:

/* -- Try as follow: */
#define  KEY_UP 72
Key=getch();  /* get current direction keys */

switch(Key)
{
  case 72: /* UP */
/* some codes */
break;