我現在試圖創建基於Linux系統的遊戲,其中有三個過程:創建一個「遊戲」與基於Linux的系統採用C 2名球員和裁判(進程)
- 裁判 - 主要工藝
- 藍播放器 - 第一個孩子的過程
- 紅球員 - 當然,兩個子進程正在使用的
fork()
功能創建的第二子進程
。
現在一切都創建好了,我使用共享內存來存儲電路板以及三個進程通用的一些變量。
我的問題是,當我想要考慮如何實現基於回合的遊戲時 - 我創建了一個通用的布爾變量,指出遊戲是否仍在運行或完成,以及決定輪到誰的是它。
現在我們進入共享部分,我暫停了兩個子進程並向第一個子進程發送了一個信號以「喚醒他」,但從現在開始,我如何將所有三個進程保持在一起並同步(裁判醒來的第一個進程,它完成了轉彎和暫停,比裁判醒來的第二個,等等......)
我想我必須保持那部分在某種while(game_finished == FALSE)
循環,但從那裏我'米卡住了。
我如何以我剛纔解釋的方式實現那個遊戲?謝謝。
你需要叉嗎?,讓每個球員穿線似乎更容易,所以裁判可以將他們叫醒。 – xvan