我的代码中有一个奇怪的逻辑错误,它不允许我划分我的变量。
if (cWeapon == soulSteeler){
lifeTake = damageDealt / 10;
lifeTake += health;
}
这是我试图划分所造成的伤害并将其添加到我的健康状态的地方。我在int
和float
上将lifeTake damageDealt
更改为health
,因为我知道我可以获得一些小数。
当我这样做时,没有任何事情发生,我似乎无法找到答案,所以我决定自己问一下。 提前致谢, 将
答案 0 :(得分:0)
试试这样:
// I assume these are not Strings. If they are, compare using equals
if (cWeapon == soulSteeler) {
lifeTake = damageDealt/10.0;
lifeTake += health;
}
答案 1 :(得分:0)
就像Duffymo所说的那样,damageDealt很可能是一个小于10的整数,这会使damageDealt / 10始终为0.要解决此问题,请将10更改为10.0,或将其转换为float或double。同时施放damageDealt作为double或float,以获得正确的结果。还要确保lifeTake是float / double,否则你将受到相同数据缩小的影响。