所以我只想對我必須爲編程類構建的遊戲的整體結構提出一些意見。本質上 - 我正在構建兩個程序 - 一個客戶和一個戰艦遊戲服務器。我已經編寫了玩戰艦遊戲的實際程序。我寫的程序是讀入地圖和規則文件的地方,用戶試圖猜測船隻的位置,直到他們沉沒所有的船隻。C CLI遊戲概念
對於這個新的程序 - 服務器必須允許兩個人的團隊使用戰列艦遊戲相互對抗。客戶使用遊戲名稱連接到遊戲,一旦遊戲接收到兩個客戶端,它就可以開始。我們需要在本地機器上使用TCP來在服務器和客戶機之間進行通信,並且至少在服務器中使用線程。
這就是我的想法..
一旦客戶端連接 - 檢查自己要連接到哪個遊戲。如果它是一款新遊戲 - 爲該遊戲創建一個新線程併爲第一個客戶端提供套接字描述符。否則,如果遊戲中已經有一個人,請提醒新參與者的遊戲線程,並且可以開始遊戲。
當遊戲開始時 - 遊戲線程將不得不產生兩個線程..每個玩家的戰艦遊戲的一個實例。每個玩家的實例都將放置在他們的船上。然後線程會依次監聽來自每個客戶端的輸入並將該信息傳遞到相應的遊戲。
這個解釋是否正確?每個運行遊戲需要3個線程?另外,是否可以在線程中使用exec()來運行新的戰列艦實例,然後使用線程將信息傳遞給該實例的stdin(並獲取stdout)?
請讓我知道,如果我什麼都朦朧,我會澄清。提前感謝您提供任何幫助!
這不是一個真正的問題。 – 2010-05-19 08:09:17
@Tadeusz A. Kadlubowski:這是一堆模糊的問題,但它們絕對是真實的*。 – ereOn 2010-05-19 08:15:57
對不起,沒有真正考慮一個明確的問題。我們可以說我的問題是:我的解釋是否有效?是否包含一些問題? – Gary 2010-05-19 09:39:27