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

Class RPG(角色扮演游戏)类图示例,class,project-planning,class-diagram,Class,Project Planning,Class Diagram,有人知道我在哪里可以找到RP游戏开发类图的例子吗?类似的东西会非常有用。我不是在寻找我可以随意复制的东西,而是在尝试用铅笔写下我自己的类时,为我发现的问题绘制各种解决方案的不同示例。 <tongue_in_cheek_mode_because_it_is_friday> 首先: ---------------- -------------- | Creature |

有人知道我在哪里可以找到RP游戏开发类图的例子吗?类似的东西会非常有用。我不是在寻找我可以随意复制的东西,而是在尝试用铅笔写下我自己的类时,为我发现的问题绘制各种解决方案的不同示例。


<tongue_in_cheek_mode_because_it_is_friday>
首先:

          ----------------                    --------------
          |   Creature   |                    |  Item      |
          |--------------|                    |------------|
          | Name         |                    | Name       |
          | Hp           |                    | Value      |
          | Abilities    |--------------------| Weight     |
          |--------------|                    --------------
          | Attack       |
          ----------------
                 ^
                 |
        ----------------------
        |                    |
----------------    ----------------
|  Hero        |    |  Monster     |
|--------------|    |--------------|
| Level        |    |              |
|--------------|    |--------------|
| KillMonster  |    | AttackAndDie |
| GrabTreasure |    | DropTreasure |
----------------    ----------------

</tongue_in_cheek_mode_because_it_is_friday>
--------------------------
|生物| |物品|
|--------------|                    |------------|
|姓名| |姓名|
|Hp | |值|
|能力-重量|
|--------------|                    --------------
|攻击|
----------------
^
|
----------------------
|                    |
----------------    ----------------
|英雄| |怪物|
|--------------|    |--------------|
|标高| ||
|--------------|    |--------------|
|杀死怪物| |攻击并死亡|
|抢夺宝藏|
----------------    ----------------

这样的东西怎么样:

以下是一些其他图表:


查看复杂游戏的概览:)

我从GameDev.net知道Emmanuel Deloget,但我不确定我会选择使用他那里的层次结构!继承太多,灵活性不够

如果我在写一个基于文本的RPG(就像我过去所做的那样),它看起来有点像这样(尽管很遗憾,我没有时间为它绘制图表):

  • 生物、房间和衍生项目 来自WorldEntity,带WorldEntity 组合排列的对象 结构,以便项目可以在 其他由生物携带的物品, 住在房间里的人。实施 WorldEntities的访问者模式 可能会很好
  • CreatureType和ItemType类 包含的“类”数据 个别生物及物品 实例,这些实例引用了它们的 对应的“类型”对象。(例如:基地 前者的生命值和统计数据, 当前生命点和瞬态效应 在后者中)。我可以将这些实现为 获取的属性的原型列表 复制到生物或物品实例时 它们是被创造出来的。您可以实现属性 通过“父”属性继承,以便 一个特定的地精生物实例可能与 “勇士地精”CreatureType,其中包含 “通用地精”CreatureType的父引用。等等
  • 属于其房间的出口,并且 单向,其中详细说明了 旅行、各种通行条件等
  • 包含连接的房间组的区域 通过某种逻辑组织
  • 一个产卵类来指示生物的位置 并创建项目实例(例如,哪个房间, 或者在什么坐标),当它们被创建和 频率是多少 哪些是CreatureType和ItemType。你可能有 这里有一些逻辑可以让事情随机化
  • 咒语、技能、能力等。 都派生自一个基本动作类 或指定先决条件的接口 (例如,当前位置、法力点、一些 技能的学习程度等)。正常的 命令和动作也可以放在这里,因为它们 通常也有一些要求 (例如,“睡眠”命令要求您不 已经睡着了。)
  • 一个FutureEvent类,本质上是一个 您推送到优先级队列上的回调 将来执行。你可以用这些来 安排战斗回合,拼写冷却时间, 昼夜循环,随你喜欢
  • 名称->值对的哈希/映射/字典 玩家和物品统计。不是类型安全的,但是 稍后您将欣赏这种灵活性。在我的 有制作stats成员变量的经验是很重要的 可行但不灵活,且具有专业性 “属性”类成为一个复杂的类 调试时的噩梦
  • 包含统计名称的修改器类型 和修改值(例如+10、+15%)。这些 在使用时添加到你的生物中 (例如通过法术效果,或通过挥舞 一件被施了魔法的武器)然后脱光衣服 通过定时未来事件或其他事件,如 作为正在执行的命令
  • 特定于游戏的类,如PlayerClass或 PlayerRace,每一个都描述了一个玩家的等级 (如战士、巫师、小偷)或种族(人类、精灵、, dwarf)并设置起始状态值和限制, 技能可用性列表、特殊能力等
  • 不同的基本播放器接口类 取决于你的实际游戏类型。你可以 具有图形游戏的渲染类,或 在泥泞中,您可能有一个连接类 反映到播放器客户端的TCP连接。 试着把所有的游戏逻辑都排除在外
  • 脚本接口。你的大部分命令,咒语, 而生物AI则可以通过 一个像样的脚本接口,可以保证编译时间 我也是。它还允许进行一些出色的游戏内调试 和诊断能力

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

您可能需要考虑组件实体系统而不是传统继承层次结构;它们倾向于更灵活地适应某些类型的更改,使工具(例如world editor)的开发更容易,并为并行化提供了机会,否则可能不明显或不容易

许多现代游戏引擎正在从“单一类对象”(或类实体,无论什么)转向“组件包”方法

周围有很多书和文章。一般来说:

  • 该系列(显然第5卷和第6卷都有组件文章,我认为第2卷也可能有组件文章)
  • 网站
       +-----------------------------+
       V                             |
    [Actor] ------- [Allegiance] ----+
     - risk comfort    - weight
     - temerity