c语言方向键
Ⅰ c语言怎么接收方向键
char k=getch();
switch(k)
{
case 72:
//上
break;
case 80:
//下
break;
case 75:
//左
break;
case 77:
//右
break;
}
Ⅱ c语言中怎样输入和读取方向键
在C代码中可设置如下自编的intokey( )函数,用以接收方向键值。库函数kbhit( )是检测是否有按键被按下,库函数getch( )是读取键盘按键值的,不需按回车,也不回显。dir是代表方向的变量,根据不同的方向键值,让dir取1到4这四个不同的值。其它的程序段就可根据dir的值让东西朝某个方向移动。方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#include<conio.h> .
void intokey( )
{ int flag;
if ( kbhit( ) ) //判断有键按下时才执行下面的操作
{ flag = getch( ); //用flag来获取键值
if (flag==224)
{ flag = getch( ); //值为224时表示按下了方向键,要再次获取才行
if ( flag==72 && dir != 2 ) dir = 1;
if ( flag==80 && dir != 1 ) dir = 2;
if ( flag==75 && dir != 4 ) dir = 3;
if ( flag==77 && dir != 3 ) dir = 4;
}
if (flag==13)
{ while( 1 ) if ( ( flag=getch( ) )==13 ) break ; }
}
}
注:这个函数来源于某些“贪吃蛇”的代码,略有修改,足可获取方向键值。其中的1、2、 3、4分别对应着上下左右。当flag获得键值后,分两种情况:一是flag=224,此时再次获取键值以判断输入的是4个方向中的哪一个;二是flag=13,表示按下回车键,我们就执行循环,程序暂停,等待再次输入回车,程序继续运行。
Ⅲ 怎么用C语言实现方向键菜单选取,如图
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#defineboolint
#definefalse0
#definetrue1
voidshow(inti);
intmain(void)
{
charkey,key2;
boolneedNextKey=false;
inti=1;
system("color1f");
printf("按任意启动菜单:");
while((key=_getch())!=27)//pressESCtobreak
{
system("cls");
if(needNextKey)
{
if(key2==-32)
{
if(key==72)//up
{
i--;
if(i<=0)i++;
show(i);
}
elseif(key==80)//down
{
i++;
if(i>=4)i--;
show(i);
}
}
needNextKey=false;
}
if(key<=0)
{
key2=key;
needNextKey=true;
}
}
printf_s("pressanykeytocontinue...
");
_getch();
return0;
}
voidshow(inti)
{
if(i==1)
{
printf("->Menu1
Menu2
Menu3
");
printf("
Esctoquit:
");
}
elseif(i==2)
{
printf("Menu1
->Menu2
Menu3
");
printf("
Esctoquit:
");
}
elseif(i==3)
{
printf("Menu1
Menu2
->Menu3
");
printf("
Esctoquit:
");
}
}
Ⅳ C语言怎么输入方向键左
windows 函数有这个API
或者用最简单的getchar就可以
上下左右四个键,每个都可以从getchar获取到内3个字节数据
分别是
上:0x1b5b41
下:容0x1b5b42
左:0x1b5b44
右:0x1b5b43
Ⅳ c语言如何使用键盘上的上下左右键
int keydown()
{
char c;
if((c=getch())<0)c=getch();
switch(c){
case 72://printf("\n你的按键为向上");break;
case 75: //printf("\n你的按键为向左");break;
case 77: //printf("\n你的按键为向右");break;
case 80: //printf("\n你的按键为向下");break;
default: //printf("\n按键不是方向键");break;
}
return c;}
我也碰到这种事,暂时用这个..
Ⅵ c语言方向键ASCII码的问题
键盘上的每个按键都有扫描码和ASCII码组成的组合码,函数getchar()不会读出扫描码,只能读出ASCII码,C语言中函数_getch()【conio.h,不回显】可以读出扫描码。
方向键、INSERT、DELETE、END、HOME、PgUp、PgDn的扫描码是224(0XE0).
F1 -- F11的扫描码是0。
Ⅶ c语言如何调用方向键
在C代码中可设置如下自编的intokey( )函数,用以接收方向键值。库函数kbhit( )是检测是否有按键被按下,库函数getch( )是读取键盘按键值的,不需按回车,也不回显。dir是代表方向的变量,根据不同的方向键值,让dir取1到4这四个不同的值。其它的程序段就可根据dir的值让东西朝某个方向移动。方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#include<conio.h> .
void intokey( )
{ int flag;
if ( kbhit( ) ) //判断有键按下时才执行下面的操作
{ flag = getch( ); //用flag来获取键值
if (flag==224)
{ flag = getch( ); //值为224时表示按下了方向键,要再次获取才行
if (flag==72 && dir != 2) dir = 1; //方向键为“上”且原方向不为下时,让dir=1.
if (flag==80 && dir != 1) dir = 2; //方向键为“下”且原方向不为上时,让dir=2.
if (flag==75 && dir != 4) dir = 3; //方向键为“左”且原方向不为右时,让dir=3.
if (flag==77 && dir != 3) dir = 4; //方向键为“右”且原方向不为左时,让dir=4.
}
if (flag==13)
{ while( 1 ) if ( ( flag=getch( ) )==13 ) break ; }
}
}
注:这个函数来源于某些“贪吃蛇”的代码,略有修改,足可获取方向键值。其中的1、2、 3、4分别对应着上下左右。当flag获得键值后,分两种情况:一是flag=224,此时再次获取键值以判断输入的是4个方向中的哪一个;二是flag=13,表示按下回车键,我们就执行循环,程序暂停,等待再次输入回车,程序继续运行。
Ⅷ C语言方向键ASCII码
if(_kbhit())//如果按下的是方向键或功能键,_getch()要调用两次,第一次返回0XE0或0
{
fflush(stdin);
c=_getch();//上:72下:80左:75右:77
if(c==0XE0||c==0)
{
c=_getch();
if(c==72&&direct!=1&&direct!=3)
{
direct=3;
}
Ⅸ C语言 方向键键值
ASCII里面不含F1-F12,他是字符表,又不是键盘代码表
用vbKeyF1~vbKeyF16的预定义常量吧
.net下可以用Keys.F1~F16
直接引用值的话F1=112,F16=127
Ⅹ c语言怎么按方向键控制程序 c = getchar(); 我按了上 但是没有反应
在C代码中可设置如下自编的intokey( )函数,用以接收方向键值。库函数kbhit( )是检测是否有按键被按下,库函数getch( )是读取键盘按键值的,不需按回车,也不回显。dir是代表方向的变量,根据不同的方向键值,让dir取1到4这四个不同的值。其它的程序段就可根据dir的值让东西朝某个方向移动。方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#include<conio.h> .
void intokey( )
{ int flag;
if ( kbhit( ) ) //判断有键按下时才执行下面的操作
{ flag = getch( ); //用flag来获取键值
if (flag==224) flag = getch( ); //值为224时表示按下了方向键,要再次获取才行
if (flag==72 && dir != 2) dir = 1; //方向键为“上”且原方向不为下时,让dir=1.
if (flag==80 && dir != 1) dir = 2; //方向键为“下”且原方向不为上时,让dir=2.
if (flag==75 && dir != 4) dir = 3; //方向键为“左”且原方向不为右时,让dir=3.
if (flag==77 && dir != 3) dir = 4; //方向键为“右”且原方向不为左时,让dir=4.
}
}
注:这个函数来源于某些“贪吃蛇”的代码,略有修改,足可获取方向键值。其中的1、2、
3、4分别对应着上下左右。