因此,我正在为自己的个人乐趣创建一个战斗系统,并试图解决其中的康复部分。当我使用一种治疗物品时,它将增加最大生命值,当该值超过当前的最大生命值时,则恢复为任何影响效果。
我查了一下,有人建议使用饱和度算术,但我在Google上找不到任何能解释该过程的信息。然后,我在Stack上找到另一个主题,该主题解释了相同的问题并给出了答案,但是当我尝试使用它时,它不起作用。长话短说。
这是我目前正在使用的代码块。
public void useHealItem2(CharStats hero, Enemy enemy, Battle battle){
Math.min(hero.hp += 500, hero.hp);
battle.herodmg = enemy.att - hero.def;
hero.hp -= battle.herodmg;
}
所以我试图将最大值设置为可变数量,而不是固定数量。因此,随着英雄的hp增加,它会自动缩放。我认为这是有问题的,因为它首先设置了hp,所以它所达到的最大值已经是500。但这就是我的想法,我确实不确定。
最佳答案
我建议说hero.hp = Math.min(hero.currentHealth+500, hero.maxHealth)
,其中currentHealth
和maxHealth
正是它们的发音。
关于java - 夹紧最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21317976/