我正在用Java(Net Bean)制作MMO游戏,并且希望玩家同时拥有盔甲和生命值。但是我不知道如何设置它,以使敌人的伤害首先被夺走护甲,而剩余的伤害则被生命值减去。

 int Armour = 100;
 int Health = 100;
 int Damage = 101;

 while (Armour > 0){
 Armour -= Damage;
 }
 if (Armour < 0){
 Health += Armour;
 }

 System.out.println(Armour);
 System.out.println(Health);

最佳答案

应该这样做:

int armour = 100;
int health = 100;
int damage = 101;

if (damage <= armour) {
  armour -= damage;
} else {
  health -= (damage - armour);
  armour = 0;
}

System.out.println(armour);
System.out.println(health);


上面的代码段区分了两种情况:


如果伤害小于装甲,则装甲会受到伤害影响,并且生命值不变。
否则,从生命值中减去装甲无法吸收的伤害,并将装甲设置为零。


注意:


Java变量名称的约定为lowerCamelCase,即它们应以小写字母开头。
在极端情况下,运行状况可能会低于零。根据您的要求,这可能不是您想要的。

07-24 21:48