我正在尝试为国际象棋游戏建模。我的 UML 新手想法是这样的:
GameEngine 只有一个棋盘和两个玩家(从 Player 继承),当 GameEngine 被销毁时,这些(组合)也是如此。棋盘最多可以包含 32 个棋子,每个玩家可以控制/引用 16 个棋子(聚合)。玩家需要调用或访问棋盘的某些方法(定向关联)。这是正确的还是至少接近?
问问题
912 次
1 回答
0
Player
您对Human
and进行了抽象CPU
。我想你所有的箭都必须用普通的Player
。例如:
class Chessboard {
Player p1;
Player p2;
}
这是更方便的方式,您可以在运行时更改您的玩家和不同的游戏模式:Human vs Human、Human vs CPU,甚至 CPU vs CPU
同样的变化也适用于 GameEngine。
顺便说一句,我认为玩家聚合控制的棋子不是一个好主意。对 nut 的所有控制Chessman
都由 负责Chessboard
,玩家只需在轮到他行动时向他发送消息。
该更改允许您在多桌游戏中为每位玩家拥有多个棋盘。
于 2013-11-01T12:19:29.453 回答