2011-11-30 60 views
0

我必須開發一個使用silverlight的瀏覽器卡片遊戲。該遊戲需要正好四個玩家才能玩。現在我在網上閱讀的是,我必須在服務器上實現該遊戲邏輯,並通過向該服務器發送web服務請求來處理遊戲事件。
我的問題是,我們如何實現一個服務器,它可以處理多個遊戲[循環]實例。我不知道服務器將如何處理4人組的遊戲實例。 我希望所有人都連接到服務器,然後能夠在選擇其他3個玩家後運行遊戲實例。附上一張很爛的油漆圖以作更多的說明。那麼我怎麼能做到這一點? enter image description here服務器實現基於網頁的Silverlight卡片遊戲

+1

你的問題太廣泛了。請讓它更具體到你的實際問題。 –

+1

如果您接受這是實際的回合制,而不是實時的,那麼您只是將其視爲數據庫問題。使用表格來追蹤'遊戲','玩家','轉身','手牌','卡牌','分數'等實例。每個Silverlight客戶端都會定期更新以保持每個屏幕的刷新。那麼你只需要跟蹤遊戲狀態(例如,在「遊戲」表中的各種狀態字段)。你的服務器邏輯只是成爲一個狀態引擎。 –

+0

@HiTech我想過你的想法,但是重複探測服務器[DB]是否有效?如果其中一名球員異常斷線,門檻會是多少? – whizzyifti

回答

0

嗯,有一堆東西去思考過:持久性,併發性,安全性,並行遊戲會話可能性,玩家同步邏輯等等

但在一般情況下,你的服務器應該以某種方式跟蹤所有的遊戲會話併爲其分配唯一的標識符。它也應該爲所有活動客戶端分配標識符。然後每個客戶端使用自己的標識符和會話標識符來請求其他玩家的移動或張貼自己的移動。所有動作都必須加時間戳,以便客戶可以獲得更新。