作者laughingman (笑面男)
看板C_and_CPP
標題[問題] C++接受方向鍵的問題
時間Mon Jul 7 21:56:42 2014
各位版上的高手們好,小弟目前想用C++寫2048這個遊戲,
(是個魯肉腳,所以想多多練習~)
遇到如何輸入上下左右鍵的問題,
google了一下,找到了解答如下:
int c;
while(1){
c=getch();
if(c==224){
c=getch();
switch(c){
case 72:cout<<"上";break;
case 80:cout<<"下";break;
case 75:cout<<"左";break;
case 77:cout<<"右";break;
default:break;
}
}
}
是可以運作沒錯,也符合小弟的需求。
可是小弟不懂為什麼c==224代表方向鍵,
也不知道為什麼72、80、75、77分別代表上下左右,
不知道有沒有高手可以幫小弟解惑?
或是提點一些方向讓小弟去找資料,非常感謝。
--
如果這個世界有神,
祂必定不賞善罰惡,也沒有任何道德觀,
祂只保證有生必有死,曾經經歷出生的生命,必以死亡做終結。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.142.87
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1404741414.A.426.html
推 waterCoka:224是"方向鍵"的extended key, 72 80 75 77代表上下左右 07/07 22:35
→ waterCoka:關鍵字:keyboard scancode 07/07 22:35
推 waterCoka:只有按下功能鍵or方向鍵才會有extended key 07/07 22:39
→ waterCoka:分別回傳0x00跟0xE0 也就是0跟224 07/07 22:39
→ MOONRAKER:你寫個while(1){c=getch();printf("%c\n",c);} 07/07 23:22
→ MOONRAKER:然後在鍵盤上從左邊按到右邊 不就知道了 07/07 23:23
→ redmilk:前面的文章有sample code 文章代碼 #1JUVIygp 07/08 14:41
→ EdisonX:@redmilk 你給的文章代碼似乎是 2048 BOT 的網宣 @@ 07/08 20:48
→ laughingman:非常感謝各位大大的回應,我搜尋scancode找到滿多資 07/09 07:37
→ laughingman:料的,要花一些時間消化XD再次感謝~~ 07/09 07:38