Re: [問題] 關於kbhit()這個函式

看板C_and_CPP (C/C++)作者 (一片死寂)時間16年前 (2009/07/17 01:38), 編輯推噓5(506)
留言11則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《yan04870449 (一片死寂)》之銘言: : 我想請問一下,我在dev c++底下使用kbhit()這個函式時,我可以正常使用 : 如下 : cout<<kbhit()<<endl; : 但是同樣的使用方法,我拿到VC++ 2008底下使用他卻說使用方法不到,似乎 : 是要我把原本使用的kbhit()改成_kbhit(),想請問在vc++ 2008底下正確的用 : 法為何呢? 感謝s大指點 小弟不才,想了一整天還是想不出解,乾脆po上來請版大們幫我看看 我是想要練習寫一個類似貪食蛇移動的程式,現在的問題是我想讓程 式執行後,依照使用者輸入的方向鑑(上、下、左、右)來改變圖片移 動的方向,使用者輸入某一個方向之後,圖片會一直往該方向一直動 ,一直到使用者輸入下一個方向才會改變移動的方向。 附上code 環境為vc++ 2008 我在dev測試kbhit()的中斷時是可以的,但是我在vc執行的時候只要事件一觸發 就好像進入無限迴圈一樣圖片會一直走,但無法透過kbhit()中斷。 while(true) { Sleep(500); if(kbhit()) key = e->KeyValue; else { switch(key) { case 38: p1->Top -= 10; break; case 40: p1->Top += 10; break; case 37: p1->Left -= 10; break; case 39: p1->Left += 10; break; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.128.56 ※ 編輯: yan04870449 來自: 122.117.128.56 (07/17 01:39)

07/17 01:39, , 1F
你還是要 getch 出來 不然你哪知道按了啥鈕
07/17 01:39, 1F

07/17 01:42, , 2F
我看書上是寫 VC用 key = e->KeyValue; 取得鑑盤值
07/17 01:42, 2F

07/17 01:55, , 3F
用 _getch 流程也怪怪的 ASCII code 也怪怪的
07/17 01:55, 3F

07/17 02:05, , 4F
CLI ?
07/17 02:05, 4F

07/17 02:47, , 5F
我測試了好幾次之後發現,我的kbhit()是沒有作用的耶
07/17 02:47, 5F

07/17 02:47, , 6F
似乎是因為這樣,導致無法中斷。
07/17 02:47, 6F

07/17 02:48, , 7F
不知道版上有沒有前輩指引一條明路讓我走呀~"~
07/17 02:48, 7F

07/17 11:19, , 8F
上網查一下 kbhit 在做什麼阿
07/17 11:19, 8F

07/17 13:09, , 9F
kbhit我知道在做什麼,但現在問題是他在VC裡不動呀!><
07/17 13:09, 9F

07/17 21:22, , 10F
我記得上下左右抓到的是某幾個英文字的ascii
07/17 21:22, 10F

07/18 01:03, , 11F
msdn 查 kbhit
07/18 01:03, 11F
文章代碼(AID): #1ANsM3bw (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1ANsM3bw (C_and_CPP)