[問題] 需同時等待指令與更新畫面 不知從何起手

看板C_and_CPP作者 (Zap)時間12年前 (2013/06/23 13:34), 編輯推噓5(504)
留言9則, 7人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 碰到需要同時等候鍵盤指令:目前使用_getch() 畫面又必須不斷更新:像是 while(1) { system("cls"); cout << ...... } 舉例來說像是畫面上有個 $ 符號再隨機上下左右移動 鍵盤輸入 @ 後 原本的符號替換成 @ 維持原本的運動模式 我的問題是 _getch()指令執行後程式會變得在等待輸入才會執行下個指令 該如何同時做到等待與更新 -- 另外還想問一下C++是否有內建延時的指令(例如5秒後才執行下一行指令 目前看到的方法幾乎都是用迴圈去等待時間到達 但這種方式相當吃系統資源 不知道有沒有更好的解決方法 補充說明(Supplement): 詢問教授 教授提示可以考慮使用Timer 但上網查過之後還是不太會使用 想請問有沒有別得方法能解決這項問題 或是有沒有人熟悉Timer的使用方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.185.95.6 ※ 編輯: BlackZap 來自: 111.185.95.6 (06/23 21:37)

06/23 21:42, , 1F
kbhit() Sleep() Sleep()不太準就是了
06/23 21:42, 1F

06/23 21:48, , 2F
sleep不能直接使用 不知道是要載入哪個標頭檔
06/23 21:48, 2F

06/23 22:04, , 3F
sleep?? 好像是windows.h
06/23 22:04, 3F

06/23 23:02, , 4F
mutiple thread?
06/23 23:02, 4F

06/23 23:39, , 5F
如 F 大所言,開一個 thread 做 while(1) { GetKeyState);
06/23 23:39, 5F

06/24 04:36, , 6F
用迴圈很吃資源 ?and教授說的Timer是一種概念還是lib ?
06/24 04:36, 6F

06/24 08:54, , 7F
用 select 做 async I/O
06/24 08:54, 7F

06/24 10:34, , 8F
疑!我想知道實際上不會有人用 while(1) 放 Sleep + 緒 ?
06/24 10:34, 8F

06/24 12:54, , 9F
就用啊~為何不用QQ?
06/24 12:54, 9F
文章代碼(AID): #1Hnlbr-X (C_and_CPP)
文章代碼(AID): #1Hnlbr-X (C_and_CPP)