该项目是一个合作游戏,它使用客户端 - 服务器架构通过网络进行通信。
大部分逻辑都是在Player类,Game类和Board类中进行的。
游戏和棋盘处理棋盘上的所有内容,并保存有关当前游戏的元数据。
我检查玩家是否能够移动的逻辑是在玩家类中,即。玩家知道它是否可以向某个方向移动,这需要玩家将棋盘作为一个场地。
我的问题是,这是一个好的设计吗?如果不是为什么不在哪里,哪个更好的地方有逻辑?
感谢您的回答!
对不起,我的上一个问题有点广泛且以意见为导向,希望这个问题不那么重要,请告诉我这个问题是否写得不好
答案 0 :(得分:1)
玩家很可能与特定的棋盘或比赛场地相关联。你可以设计它:玩家知道棋盘并且可以查询它以查看是否允许移动,或者如果其中一个棋子可以移动,你可以查询棋盘。
我认为通过玩家更有意义:它知道自己的局限性。例如,在国际象棋中,游戏块知道它是什么类型,以及它是否可以移动一个空间,多个,对角线等等。所以从这个角度来看,你的设计工作正常。
当玩家位于A牌上时,你也不会问玩家是否可以在B上移动。
你总是可以看看开源游戏,看看其他人是如何做到这一点的:OGRE是一个开源引擎,带有几个实现的链接(包括一些着名的游戏)。