0

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

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

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

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

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

谢谢您的回答!

抱歉,我的最后一个问题有点宽泛且以观点为导向,希望这个问题不那么严重,请告诉我这个问题是否也写得不好

4

1 回答 1

1

玩家可能与特定的棋盘或游戏区域相关联。您可以采用任何一种方式进行设计:玩家知道棋盘并可以查询棋盘以查看是否允许移动,或者您可以查询棋盘是否其中一个棋子可以移动。

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

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

您可以随时查看开源游戏,看看其他人是如何做到这一点的:OGRE 是一个开源引擎,带有多个实现(包括一些知名游戏)的链接。

于 2013-10-18T00:28:28.517 回答