成都创新互联网站制作重庆分公司

c语言方向键控制函数 c语言鼠标控制进入函数

c语言中怎样输入和读取方向键

在用C语言写出的“贪吃蛇”小游戏中,可以自编以下这个intokey( )函数,用来获取方向键值以便控制蛇的拐弯。库函数kbhit( )是检测是否有按键被按下,Dir是代表方向的变量,整型变量flag用来获取键值,1、2、3、4分别表示方向的上下左右。要#includeconio.h .

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站建设、前郭网络推广、微信小程序定制开发、前郭网络营销、前郭企业策划、前郭品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供前郭建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

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.

}

}

注:上下左右键按下后都会产生2个值,第一个是224,第二个才分别是72、80、75和

77.所以要用库函数getch( )两次获取键值。如果是ASDW来控制拐弯,flag可以定义为

字符型,获取一次键值即可。

C语言控制上下左右的函数是什么?

希望这个能对你有帮助:#include

#include

int

main(void){

int

c

;

while(1){

c

=

getch();

if(c==0)

c=getch();

//

getch在遇到方向键时会返回0

再使用getch便会返回扫描码

if(

c

==

72

)

printf("UP\n");

//

我帮你把上下左右数据调出来

你用的时候define成

UP来使用这个值就可以了

if

(

c

==

80)

printf("DOWN\n");

if

(

c

==

75)

printf("LEFT\n");

if

(

c

==

77)

printf("RIGHT\n");

if(c

==

113)

//按q退出

break;

}

return

0;

}

c语言如何使用键盘上的上下左右键

用bioskey()函数可以实现读取键盘的上下左右键

函数原型:int bioskey (int cmd)

说       明:bioskey()的函数原型在bios.h中,即必须包含头文件#includebios.h

读取方向键可以用下面的程序啊! 

#includestdio.h

#includebios.h

#define Key_Up 0x4800    // 向上方向键 

#define Key_Down 0x5000  // 向下方向键

#define Key_Right 0x4d00  // 向右方向键

#define Key_Left 0x4b00   // 向左方向键

void main()

{

int key=bioskey(0); 

switch(key) 

{

case Key_Up : {printf(" 向上方向键被按下"); break;}

case Key_Down : {printf(" 向下方向键被按下"); break;}

case Key_Left : {printf(" 向左方向键被按下"); break;}

case Key_Right : {printf(" 向右方向键被按下"); break;} 

}

}

c语言怎么按方向键控制程序 ? c = getchar(); 我按了上 但是没有反应

在C代码中可设置如下自编的intokey(  )函数,用以接收方向键值。库函数kbhit( )是检测是否有按键被按下,库函数getch(  )是读取键盘按键值的,不需按回车,也不回显。dir是代表方向的变量,根据不同的方向键值,让dir取1到4这四个不同的值。其它的程序段就可根据dir的值让东西朝某个方向移动。方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#includeconio.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分别对应着上下左右。

c语言中怎样输入和读取方向键?

在贪吃蛇中定义了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)行类似,只是取值不同。要包含文件 #includeconio.h 。

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; } }

}

}


网站标题:c语言方向键控制函数 c语言鼠标控制进入函数
分享URL:http://cxhlcq.com/article/hicsgp.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部