0
我創建了一個可供2個玩家玩的棋盤遊戲,其他人可以是旁觀者(觀看者) 因此,當旁觀者加入時,他獲得當前的遊戲狀態,並從然後,他只會得到每個玩家所做的動作(顯然可以保存數據)。socket.io跨插槽同步狀態
我的問題是:當觀衆第一次從服務器獲得遊戲狀態時,我如何確保它實際上是同步的?我不知道他會得到的狀態,它可能是之前的一小部分東西已經發生了變化,然後他所得到的三角洲所做的每一個舉動都沒有意義。
我應該使用某種內部?你會建議如何確保一切都同步?
是的,我想我可以儲存所做出的移動次數,並將其進行比較,如果不相同,那麼我會傳遞代表遊戲的整個陣列,重新構建它,然後從那裏繼續三角洲,像往常一樣。 – vsync 2013-05-11 15:00:52
如果您使用數組來表示狀態,則可能會隱含另外2個整數:currentID和previousID,表示最新條目的索引和前一個條目的索引。這應該允許您僅傳遞丟失的移動,而不必傳遞整個數組。很明顯,如果你從這個數組中刪除項目,這將不起作用。 – marcoseu 2013-05-11 15:05:35