|
|
1
7
你称之为“特效”的东西过去被称为“修饰物”,但现在被称为MMO中流行的“buff”。考虑到您可以选择在每个阶段能够赋予多少变通能力,处理这些问题无论是简单还是困难都是您想要的。 但从根本上说,系统的每个方面通常都存储一个适用于它的修改器列表,您可以根据需要查询它们。通常情况下,在任何给定的时间内,只有少数几个修饰符适用于任何一个玩家,所以这不是问题-获取玩家的统计数据和技能/法术/任何东西所赋予的修饰符,添加磨损装备所赋予的修饰符,然后添加相关武器所赋予的任何修饰符。如果您在这里提供了一个标准接口(例如sumModifiersTo(attributeID))供参与者、项目、位置等使用,那么实现这个接口可以很快很容易。 通常,“效果”对象将包含在它们所属的实体中:演员有一个效果列表,他们穿戴或使用的物品有自己的效果列表。如果效果被明确激活和/或有时间限制,则由您决定存储它们的位置-例如,如果您有魔法药剂或其他消耗品,则需要将其效果附加到演员身上,而不是(可能已销毁)物品。 不要试图让特效修改演员属性,因为你很快就会发现,如果你不能确保所有的添加和删除都按照正确的协议进行,那么属性很容易“漂移”。这也使得以后绕过某些修改器变得更加困难。想象一个魔法盾牌,它只保护你不受其他魔法的伤害——你可以传递某种谓词给你的修饰符求和函数,而忽略某些类型的效果。 |
|
|
2
2
看看这本书, Head First Design Patterns ,作者伊丽莎白·弗里曼。具体来说,请阅读Decorator和Factory模式以及接口编程方法,而不是实现。我发现这本书非常有效地解释了一些复杂的概念,这些概念可能会让你继续写下去。 希望这有助于为您指明正确的方向。 |
|
|
3
0
乍一看,我想说的是,考虑到适用于该战斗员的所有修改器,单个战斗员(玩家和NPC)在确定其战斗特征(即护甲值、命中次数、伤害范围等)方面发挥着作用。因此,战斗系统不会试图弄清楚角色的职业是否会给他/她护甲加成,魔法武器是否会对他/她造成影响,等等。 但我认为战斗系统本身不属于单个战斗人员。它将获取有关攻击者和所需攻击类型以及一个或多个目标的信息,并解决该问题。 对我来说,这种模型反映了我们是如何在纸笔RPG游戏中进行战斗的。DM要求每位玩家提供其角色的详细信息,然后使用这些信息作为输入进行战斗。它在现实世界中运行表明它是一个相当灵活的系统。 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |