c# - 制作井字游戏的领域模型

标签 c# java oop uml

我正在尝试制作 Tic Tac Toe 游戏的领域模型。然后,我将尝试继续执行统一过程的各个步骤,然后用某种语言(C# 或 Java)实现它。

如果我走在正确的道路上,我想得到一些反馈: alt text http://dl.dropbox.com/u/6187267/shooterpics/tictactoedm.jpg

我用两个 Actor 定义了游戏,Player OPlayer X

  1. 我不确定要同时定义 TileTile State。也许我应该只定义一个 Tile 并让 3 种可能的状态从中专门化?
  2. 我不确定什么是最好的:让 Player OPlayer XTic Tac Toe 相关联或让它们继承自与 Tic Tac Toe 关联的 Player。按照图片上显示的设计,理论上我们可以有一个带有 2 个玩家 O 的 Tic Tac Toe 概念,这是不正确的。您对此有何看法?

此外,我是否遗漏了图表中的某些内容?虽然我看不到井字游戏的其他 Actor ,但我应该有其他 Actor 吗?

谢谢

最佳答案

另一种类分解方法是将 Board 和 Tile 替换为 Game 和 Move。游戏将包含一系列合法的移动,移动将包含方形坐标(或其他标识符)以及它是玩家 O 还是 X。该方案包含更多信息,允许游戏可以重播和备份。

关于c# - 制作井字游戏的领域模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993691/

相关文章:

c# - 鼠标事件在 WPF 中如何工作?

c# - 在catch block 中捕获异常后是否可以再次执行try block 中的代码?

java - 堆排序实现bug,与插入函数

java - 如何使用spring的分层架构仍然遵循面向对象的结构?

c# - 创建 Visual Studio 安装项目后删除 xml 文件

c# - 简单注入(inject)器注入(inject) IEnumerable<Func<T>>

java - CompleatableFuture在handle方法中可以异常完成吗?

Java:Apache Poi 的 Excel 到 csv 日期转换问题

c# - 我怎样才能漂亮地缩短这段 C# 代码?

c++ - 尝试在 Visual Studio 2013 中创建 Web 服务器对象的新实例时抛出错误