C# tic-tac-toe领域模型的建立
我正在尝试制作一个Tic-Tac-Toe游戏的域模型。然后,我将尝试继续完成统一过程的各个步骤,然后用某种语言(C#或Java)实现它 如果我走的是正确的道路,我希望得到一些反馈: 我定义了两个角色的游戏,C# tic-tac-toe领域模型的建立,c#,java,oop,uml,C#,Java,Oop,Uml,我正在尝试制作一个Tic-Tac-Toe游戏的域模型。然后,我将尝试继续完成统一过程的各个步骤,然后用某种语言(C#或Java)实现它 如果我走的是正确的道路,我希望得到一些反馈: 我定义了两个角色的游戏,playero和playerx 我不确定是否同时定义平铺和平铺状态。也许我应该只定义一个Tile,然后让3个可能的状态从中专门化 我不确定什么是最好的:让Player O和Player X与Tic Tac-Toe关联,或者让它们从与Tic Tac-Toe关联的Player继承。按照图中所示的
playero
和playerx
平铺
和平铺状态
。也许我应该只定义一个Tile
,然后让3个可能的状态从中专门化Player O
和Player X
与Tic Tac-Toe
关联,或者让它们从与Tic Tac-Toe
关联的Player
继承。按照图中所示的设计,理论上我们可以有一个Tic-Tac-Toe
概念和两个玩家O,这是不正确的。你对此有何看法谢谢另一种类分解方法是用游戏和移动取代棋盘和平铺。游戏将包含一系列合法的移动,移动将包含方坐标(或其他标识符)以及玩家是O还是X。此方案包含更多信息,允许游戏可以重播和备份。到图表:
当你谈论领域模型(在UP的上下文中)时,你应该忘记创建一个软件系统,只包括对tic tac toe游戏领域重要的内容。想象一下任何游戏是如何描述的——它有自己的规则(准备、回合、游戏结束条件等)、玩家(具有更多游戏的身份、点数、拥有/控制的组件、角色等)和物理组件(棋盘、令牌、人物、牌等)。如果您接受这些元素是游戏领域模型的一部分,因此您的tic-tac-toe游戏的元模型,那么您应该使用元素,这些元素就是这些元素的实例。我认为平铺不应该有坐标(或者应该有一块板..它有什么用。。它只有9张牌,而且它们永远不会改变,我只会从1-9开始给它们编号,这样也更容易检查获胜状态。另外,我也不确定我是否会使用播放器,你可以想出一个交替符号(O或X)来放置在磁贴中,当你发现一个获胜条件时,你只需将当前simbol Counte的分数ad+1。棋盘是一个磁贴容器。一个井字游戏有一个棋盘。这并不意味着我在类图中会有相同的类。sry对于不相关和不相关的发布,您在这个图中使用的软件是什么?