gpt4 book ai didi

RPG(角色扮演游戏)的类图示例

转载 作者:行者123 更新时间:2023-12-02 08:16:00 29 4
gpt4 key购买 nike

有谁知道在哪里可以找到 RP 游戏开发的类图示例?类似here的东西会很有用的。我不是在寻找可以盲目复制的东西,而是在寻找不同的示例,这些示例为我在尝试用铅笔记下自己的类时发现的问题绘制了各种解决方案。

最佳答案

我从 GameDev.net 认识 Emmanuel Deloget,但我不确定我是否会选择使用他那里的层次结构!继承太多,灵 active 不够。

如果我正在编写一个基于文本的角色扮演游戏(就像我过去所做的那样),它看起来有点像这样(遗憾的是,我没有时间为它绘制图表):

  • 衍生的生物、房间和元素来自 WorldEntity,与 WorldEntity以组合方式排列的对象结构,因此元素可以存在于其中由生物携带的其他元素,存在于房间内的人。实现WorldEntities 的访问者模式可能会运作良好。
  • CreatureType 和 ItemType 类其中包含“类”数据个体生物和元素实例,引用回它们的相应的“类型”对象。 (例如,基地前者的生命值和统计数据,当前生命值和 transient 效果在后者)。我可能会将这些实现为得到的属性的原型(prototype)列表复制到生物或元素实例时他们被创造了。您可以实现属性通过“父”属性继承,以便特定的妖精生物实例可能与‘战士妖精’CreatureType,其中包含对“通用妖精”CreatureType 的父引用。等等。
  • 由其房间拥有的导出,并且是一种方式,并详细说明了方向旅行、各种通行条件等。
  • 区域,包含相连的房间组通过某种逻辑组织。
  • 用于指示生物位置的 Spawn 类并创建 Item 实例(例如哪个房间,或在什么坐标),它们何时创建以及以什么频率、从什么时间开始其中 CreatureTypes 和 ItemTypes。你可能有这里有一些逻辑可以使事情变得随机。
  • 法术、技能、能力等。全部派生自 Action 基类或指定先决条件的接口(interface)(例如,当前位置、法力值、一些技能的学习程度等)。普通的命令和操作也可以放在这里,因为它们通常也有某种要求(例如,“ sleep ”命令要求您不已经 sleep 了。)
  • FutureEvent 类本质上是您推送到优先级队列的回调以便将来执行。您可以使用这些来安排战斗回合、法术冷却时间、黑夜/白天循环,随心所欲。
  • 名称->值对的哈希/映射/字典玩家和元素统计。不是类型安全的,但是稍后您会欣赏到这种灵 active 。在我的制作 stats 成员变量的经验是可行但不灵活,并且具有专业性“属性”类变得复杂调试时的噩梦。
  • 包含统计名称的修饰符类型和修饰符值(例如+10、+15%)。这些在使用时添加到您的生物中(例如,通过法术效果,或通过挥舞一件附魔武器)然后被脱掉通过定时 FutureEvent 或其他一些事件,例如作为正在执行的命令。
  • 特定于游戏的类,例如 PlayerClass 或PlayerRace,每个描述一个玩家的职业(例如战士、巫师、小偷)或种族(人类、 Sprite 、矮人)并设置起始统计值和限制,可用技能列表、特殊能力等。
  • 基本的玩家界面类会有所不同取决于您的实际游戏类型。你可能会有图形游戏的渲染类,或者在 MUD 中你可能有一个 Connection 类反射(reflect)到玩家客户端的 TCP 连接。尽量将所有游戏逻辑排除在外。
  • 脚本接口(interface)。你的大部分命令、咒语生物人工智能可以更快地实现一个不错的脚本接口(interface)并且可以节省编译时间也下来了。它还允许进行一些很棒的游戏内调试和诊断能力。

这将是我使用的基本高级结构。

关于RPG(角色扮演游戏)的类图示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1212149/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com