具有简单类的简单 Lua 游戏,如下所示:
creature = class({
name = "MONSTER BADDY!",
stats = { power = 10, agility = 10, endurance = 10, filters = {} },
other_things = ...
})
creatureA = creature.new()
creatureB = creature.new()
creatureA.name = "Frank"
creatureB.name = "Zappa"
creatureA.stats.agility = 20
creatureB.stats.power = 12
- 等等等等等等
非表值对每个实例都是单独的,但表值在所有实例之间共享,如果我在一个实例中修改 stats.X 值,所有其他实例都会看到相同的统计表。
Q1:我的 OO 实现有缺陷吗?我尝试了 LOOP 并出现了相同的结果,我的逻辑是否存在根本缺陷?
Q2:你如何让每个生物实例都有自己的统计表(和子表)?
PS。我无法展平我的类表,因为它比示例复杂一些,并且代码的其他部分通过这个嵌套表实现进行了简化。