【发布时间】:2014-01-19 08:17:09
【问题描述】:
我正在计划一个使用 Swing 的石头剪刀布“游戏”,它将遵循 MVC 设计。这样做的目的是更多地了解 MVC 的工作原理,而不是有用/实用。我现在的设计有一个表单,允许用户创建新游戏,然后游戏出现在 JTabbedPane 中,这样用户可以一次运行多个游戏。我对这个系统有 2 个问题:
石头剪刀布逻辑应该在模型中处理,还是应该在控制器中处理?我有一个代表不同选择的枚举和一个算法来找出谁赢了,但我对实际应该在哪里处理有点困惑。
我的第二个问题可能有点令人困惑。我现在计划的方式是我有一个名为 GamePanel 的 JPanel,每个游戏都有其中一个作为 TabbedPane 中的选项卡。将我的 GamePanel 与来自模型的游戏数据链接的“正确”方式是什么?在最简单的情况下,每个游戏都有一个 GamePanel 和一个用于存储数据的 Game 对象。在控制器中将这些链接在一起的正确方法是什么,以便通过事件系统我可以轻松地获取用户输入并基于它修改正确的游戏?首先想到的是 HashMap(GamePanel, Game) 但这似乎不是很优雅。
【问题讨论】:
标签: java swing model-view-controller