与文本中的其他对象进行交互

我会努力尽可能清楚地说明这一点,以免混淆。 另外,我并不是在寻找一个如何操作的流程,只是一些关于如何开始并朝正确方向前进的提示。

一般来说,我对编程相对来说比较陌生(用Java进行编程仅用了5个月),而我几乎没有学习很多关于编程的知识。 我已经理解了一些概念,但我一直试图理解MVC(模型,视图,控制器)的概念。 我已经做了一些研究,并希望将其应用于基于视觉文本的游戏。

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

换句话说,任何人有什么建议来模拟一系列房间,这些房间与玩家当前所在房间的其他房间北,南,东,西相互作用? (希望我很清楚,如果你需要澄清,我会回答任何问题。)同样,我正在寻找能够集中思考的建议,而不是一个完整的指南。 另外,我已经为房间设置了类和接口。


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

模型

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

调节器

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

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

视图

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

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

链接地址: http://www.djcxy.com/p/32027.html

上一篇: Interacting with other objects in a text

下一篇: based Text Adventure Game.