gpt4 book ai didi

java - 项目内的逻辑设计

转载 作者:行者123 更新时间:2023-12-01 13:59:11 28 4
gpt4 key购买 nike

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

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

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

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

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

感谢您的回答!

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

最佳答案

玩家可能被绑定(bind)到特定的棋盘或游戏区域。您可以以任何一种方式设计它:玩家知道棋盘并可以查询它以查看是否允许移动,或者您可以查询棋盘是否其中一个棋子可以移动。

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

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

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

关于java - 项目内的逻辑设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19439067/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com