看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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