作者adrianshum (Alien)
看板C_and_CPP
標題Re: [問題] curses.h on Unix
時間Tue Apr 7 17:22:30 2009
※ 引述《wwllccrr (松鼠)》之銘言:
: 前陣子想在Unix的console寫貪食蛇
: 因為要用到getch() 後來使用了curses.h這個函式庫
: 建立一個window在上面做I/O
: 一條thread不斷刷新畫面 一條thread不斷接收指令
: 每條thread中作完一次輸入或輸出就usleep()些許毫秒
: 目前一條蛇的版本已經完成了
: 然後想改成兩個人玩就出了點問題
: 我又開一條thread對這個window作getch() 當作player2下的指令
: 似乎是當兩條線同時對同一個window作getch()會出問題
: 有的時候畫面會錯亂 @@
: 如果在同一條線中判斷是player1的指令或player2的指令會稍嫌不夠快
: 可能按兩次指令才接收到一次
: 請問有人知道這有什麼辦法解決嗎?
: 感謝!
同一條 thread 接收就好了
我不知道你 sleep 多久令你覺得不夠快,
乾脆 sleep 的時間減少, 或者收到一個
指令就不要 sleep 嘗試去讀有沒有下一個
指令, 沒有才 sleep 等等, 都是可行的
方法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
推 wwllccrr:感謝! 我先試試看! 04/07 17:23
推 wwllccrr:成功了!!!! @@ 放在同一條線接收 不用sleep() 04/07 17:27
→ wwllccrr:原來這樣就好了!! 謝謝你! XDDDD 04/07 17:27