2017-03-16 38 views
0

我正在做一個簡單的在線遊戲作爲一個學校項目。 這基本上是一個經典的蛇遊戲,最後一名玩家站在勝利。簡單的實時在線遊戲的服務器體系結構

當客戶端按下箭頭鍵時,通知服務器並改變蛇的方向。

我在考慮如何讓客戶瞭解每條蛇的當前方向 - 您認爲哪一個是更好的選擇?

選項A:服務器將蛇的當前方向存儲在某些數據結構中。客戶請求每個勾號的指示。

選擇B:除了主服務器之外,每個客戶端都擁有自己的服務器。當客戶端進行按鍵時,主服務器接收它並將其廣播到每個客戶服務器。

我在想,選擇A會很簡單,因爲不需要額外的服務器,但是......選擇B將繞過定期請求遊戲狀態的需要。

回答

0

我會從設計遊戲邏輯開始,然後着手遊戲邏輯的實現。

我想我會開始像這樣

考慮有2名球員,然後我會讓遊樂區的網格和對某種類型的多維矩陣的蛇位置和通過他們周圍玩家之間

來服務器架構我建議做它爲一個守護線程運行的服務器和其他線程爲客戶和每個客戶端處理其自己的邏輯

這將是這個樣子http://pirate.shu.edu/~wachsmut/Teaching/CSAS2214/Virtual/Lectures/chat-client-server.html

快樂編碼!

+0

Thx爲答案。該遊戲已經被編程爲離線版本。我需要傳遞的唯一數據是每條蛇的方向變化,可以從那裏插入位置。 – saldukoo

相關問題