当前位置:  开发笔记 > 编程语言 > 正文

我应该为基于浏览器的游戏使用什么模型?

如何解决《我应该为基于浏览器的游戏使用什么模型?》经验,为你挑选了1个好方法。

作为一个业余爱好项目,我目前正在尝试创建一个基于浏览器的小游戏 - 我认为使用MVC模式对其进行编码是"正确的事",将游戏的"引擎"与演示分开.这将是一个简单的"RPG"游戏,玩家的角色在世界各地与怪物搏斗并收集物品.

我的问题是我被发动机的结构困住了.在目前的设计中,大多数引擎都由"玩家的角色"对象控制 - 有位置,怪物或物品等东西,但它是一个完成大部分动作的角色:旅行,攻击,购买物品等.知道有可能有其他方法来设计这样的引擎,但不知何故我无法弄清楚,所以我在这里要求一些提示或建议.

哦,服务器后端将是php + mysql,如果这在任何方面都很重要.



1> S.Lott..:

"但这是一个完成大部分行动的角色:"

对,但是...

首先,将人类用户("玩家")与他们的角色分开.角色不是玩家.

你有大量的对象.地点,被动的东西,活跃的东西(怪物)和角色.他们都互相交流.

你必须完全孤立责任.角色不占主导地位,角色只参与其中.

如果将每个可能的人类玩家动作定义为命令,你会发现它更令人愉快.Command的每个子类都可以更改模型的状态.事情发生了变化,怪物移动,角色移动(角色,而不是玩家.)

拾取或放下它们每个都是Command的子类,它将一个东西从字符移动到位置或位置移动到字符.玩家发出命令; 该命令更新位置,项目和字符.

角色是被动的.事情大多是被动的.地点大多是被动的.Command对象具有更新模型中所有各种事物之间的状态和关联的算法.

如果您想更进一步,每个Command都可以是具有撤销功能和执行功能的Memento.然后游戏的历史就是这些纪念品的历史.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有