首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从RPG库中的Map中分离字符

从RPG库中的Map中分离字符
EN

Stack Overflow用户
提问于 2011-12-07 13:13:35
回答 1查看 107关注 0票数 0

我正在用Perl开发一个RPG库,并希望使每个部分尽可能地可互换。我目前正在创建Map子系统,并将继续创建字符子系统。我应该如何处理角色和地图之间的交互?

代码语言:javascript
复制
$character->move('left'); # Character encapsulates a Map

或者类似于

代码语言:javascript
复制
$runtime->moveCharacter('left'); # Runtime encapsulates both Map and Character

Map看起来不应该是角色的一部分,但在其他方面看起来很尴尬。

另外,我应该如何将地图瓦片和角色外观的图形元素从其底层数据中分离出来?或者在这种情况下,图形方面是其数据的一部分吗?

我知道我过多地考虑了这一点,并希望在不完全过度设计的情况下使这个系统变得灵活。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-07 17:13:18

第一部分:

视情况而定。如果不看一些你希望人们能够通过你的库实现的游戏的设计文档,你就不能肯定地回答这个问题。如果您需要灵感,Roguelike-Utils有一个全局世界对象,从属比特正悬挂在该对象上。

第二部分:

使平铺成为对象。图形方面只是一个属性。当你将它解耦到足够多的时候,你就知道你做的是正确的,你可以将瓦片和其他东西传递给不同的渲染器,产生(可伸缩的或位图的)图形,roguelike ANSI终端输出,甚至是像ADVENT这样的文本描述。

由于对象不仅封装了哑巴数据(外观),而且还将行为与其相关联,因此您可以很容易地使用流体动力学或温度交互来扩展瓦片系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8410725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档