GeruzoniAnsasu
2020-03-24 19:31:56 +08:00
我猜你想要这样的东西
StatType ss
ss.append([
{name:"HP",type:int,default:100},
{name:"Mana",type:int,default:100},
{name:"Damage",type:float,default:10},
])
BuffType bs
bs.append([
{name:"ForceUpgrade",type:float,variables:[{name:"Level",type:int}],effect:lambda d->d*=(1+0.05)^this.variables["Level"]}
])
上面描述了 3 种属性,血量蓝量伤害
以及一个 buff 效果,每级提升伤害%5 的叫“ForceUpgrade”的 buff
想象你要设计一个能描述任意数值系统的类库 /框架,那你可能必须足够灵活到能支持类库使用者使用任意数据结构描述他的系统设计。所以这个类库本身就没法有什么太固定的数据结构,等于说这个类库啥也没做
你要写新游戏,必然要设计一个全新的角色类,设计全新的技能类,角色类和技能类难到不包括数值字段吗?不包括的话,这游戏是个模拟游戏?数值计算可以脱离交互?为什么能写成这样?这样的话你是在期望一个能帮你做什么的库?包括数值的话,所有的数据结构都要另行定义,那还是这个问题,这种场景下你是在期望库能帮你做什么?