當前位置:首頁 » 編程語言 » c語言獲取上下左右按鍵信息
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言獲取上下左右按鍵信息

發布時間: 2023-08-15 21:14:19

A. c語言中怎樣輸入和讀取方向鍵

在用C語言寫出的「貪吃蛇」小游戲中,可以自編以下這個intokey( )函數,用來獲取方向鍵值以便控制蛇的拐彎。庫函數kbhit( )是檢測是否有按鍵被按下,Dir是代表方向的變數,整型變數flag用來獲取鍵值,1、2、3、4分別表示方向的上下左右。要#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.

}

}

註:上下左右鍵按下後都會產生2個值,第一個是224,第二個才分別是72、80、75和

77.所以要用庫函數getch( )兩次獲取鍵值。如果是ASDW來控制拐彎,flag可以定義為

字元型,獲取一次鍵值即可。

B. c語言如何使用鍵盤上的上下左右鍵

用bioskey()函數可以實現讀取鍵盤的上下左右鍵


函數原型:int bioskey (int cmd)

說 明:bioskey()的函數原型在bios.h中,即必須包含頭文件#include<bios.h>


讀取方向鍵可以用下面的程序啊!

#include<stdio.h>
#include<bios.h>
#defineKey_Up0x4800//向上方向鍵
#defineKey_Down0x5000//向下方向鍵
#defineKey_Right0x4d00//向右方向鍵
#defineKey_Left0x4b00//向左方向鍵
voidmain()
{
intkey=bioskey(0);
switch(key)
{
caseKey_Up:{printf("向上方向鍵被按下");break;}
caseKey_Down:{printf("向下方向鍵被按下");break;}
caseKey_Left:{printf("向左方向鍵被按下");break;}
caseKey_Right:{printf("向右方向鍵被按下");break;}
}
}

C. 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,表示按下回車鍵,我們就執行循環,程序暫停,等待再次輸入回車,程序繼續運行。

D. 用C語言怎麼從鍵盤上獲取信息。

1、一般是使用getch獲取
方向鍵(←): 0xe04b
方向鍵(↑): 0xe048
方向鍵(→): 0xe04d
方向鍵(↓): 0xe050
一個方向鍵要用兩個getch才能把它的數據獲取完.
然後對應著兩個字元數據, 一個當高位, 一個當低位, 就可以判斷按下的是什麼鍵, 如:
char ch = getch();
if(ch == 0xe000) //如果高位相等
{

ch = getch(); //那麼再獲取一個
if (ch == 0x004b) //如果低位也相同(和方向鍵左一樣)
.... //要執行的動作.

}
else //如果不是, 把這個字元吸收了.
getch()

2、常式:#include <stdio.h>
#include <stdlib.h>
main()
{
int key,key2;
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
}

E. C語言獲取按鍵信息函數

這個程序應該滿足你的要求吧。
#include <stdio.h>
#include <conio.h>

int main(void)
{
while (1)
{
if (!kbhit())
printf("1");
else
{
char c = getch();

if (c == 'a')
{
putchar('2');
getch();
}
}
}

return 0;
}