项目中的逻辑设计

时间:2013-10-17 23:31:54

标签: java

该项目是一个合作游戏,它使用客户端 - 服务器架构通过网络进行通信。

大部分逻辑都是在Player类,Game类和Board类中进行的。

游戏和棋盘处理棋盘上的所有内容,并保存有关当前游戏的元数据。

我检查玩家是否能够移动的逻辑是在玩家类中,即。玩家知道它是否可以向某个方向移动,这需要玩家将棋盘作为一个场地。

我的问题是,这是一个好的设计吗?如果不是为什么不在哪里,哪个更好的地方有逻辑?

感谢您的回答!

对不起,我的上一个问题有点广泛且以意见为导向,希望这个问题不那么重要,请告诉我这个问题是否写得不好

1 个答案:

答案 0 :(得分:1)

玩家很可能与特定的棋盘或比赛场地相关联。你可以设计它:玩家知道棋盘并且可以查询它以查看是否允许移动,或者如果其中一个棋子可以移动,你可以查询棋盘。

我认为通过玩家更有意义:它知道自己的局限性。例如,在国际象棋中,游戏块知道它是什么类型,以及它是否可以移动一个空间,多个,对角线等等。所以从这个角度来看,你的设计工作正常。

当玩家位于A牌上时,你也不会问玩家是否可以在B上移动。

你总是可以看看开源游戏,看看其他人是如何做到这一点的:OGRE是一个开源引擎,带有几个实现的链接(包括一些着名的游戏)。