我长期以来一直在思考如何协调实时通知玩家的棋盘游戏服务器的这两个要求:
- 我想向玩家发送事件(棋盘游戏中的一个 Action 可能会产生多种后果,我想以动画形式呈现所发生的情况,而无需在客户端重新实现所有逻辑)。
- 我想公开游戏的状态(当玩家重新加载时,我需要发送游戏的当前状态,而不重播所有事件)。
第一个要求告诉我“创建一个可变的可观察对象”。 第二个要求告诉我“创建一个不可变的对象”以安全地公开状态。
您会选择哪种模型来实现规则?可变还是不可变?
最佳答案
重玩游戏,意味着单步,计算机算法(撤消,尝试),将有利于不可变的对象。
然后您想要将当前快照发送给新进入的用户,这是一个次要问题:保留当前快照,整个图片。
关于Java棋盘游戏实时服务器,我应该使用不变性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31743247/