因此,我正在创建一个战斗系统以供我个人享受,并尝试解决其中的治疗部分。当我使用治疗物品时,它会增加最大生命值,当值超过当前最大生命值时,无论治疗效果的值是多少。
我查了一下,有人建议饱和算术,但我在谷歌上找不到任何解释这个过程的东西。然后我在 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 增加,这将自动缩放。我认为这是有问题的,因为它首先设置了马力,所以它的最大值已经是 500。如果这是有道理的。但这只是我的想法,我真的不确定。