2

我会尽量清楚地说明这一点,以免造成混淆。另外,我不是在寻找一个操作过程,只是一些关于如何开始和朝着正确方向前进的提示。

总的来说,我对编程比较陌生(用 Java 编程才 5 个月),而且我几乎没有学到很多关于编程的东西。我已经了解了一些概念,但我一直在尝试了解 MVC(模型、视图、控制器)的概念。我做了一些研究,想把它应用到基于视觉文本的游戏中。

在游戏中,玩家可以在一系列“房间”中导航,其中一些是用于探索的,一些是我所说的“死亡房间”,玩家最终会死去,必须在第一个房间重新开始。游戏的重点是逃离并找到出口房间,四个大方向的每个方向都使用四个按钮控制导航;现在没什么难的。但是,我无法理解如何使房间对象相互交互。例如,如果玩家点击一个按钮向左走,他们应该能够进入他们当前所在房间左侧的房间。模型将负责根据方向更新玩家所在的房间玩家想去。

换句话说,任何人有什么技巧可以模拟一系列房间,这些房间与玩家当前所在房间的北、南、东、西其他房间交互?(希望我足够清楚。如果您需要澄清,我会回答任何问题。)再次,我正在寻找可以集中我思考的建议,而不是完整的操作方法。另外,我已经为房间设置了类和接口。

4

1 回答 1

3

这是一个有趣的用例。Model-View-Controller pattern在 Web 应用程序中最常见,但您当然可以使其适用于基于文本的游戏。

模型

在模型层中,我们将拥有实体 -UserRoom.

控制器

控制器解析输入,更新模型并为视图传递必要的数据。因此,在输入“东”时,示例控制器代码可能是:

User user = User.current();
Room east = user.getRoom().getEast();
user.move(east);
render(east);

看法

Render 方法会将新房间作为参数,并且可能会解析某种显示新房间名称和描述的模板。

希望这可以帮助。在这种特殊情况下,我个人会使用命令模式。

于 2013-02-27T21:19:47.663 回答