我正在用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
,即它们应以小写字母开头。在极端情况下,运行状况可能会低于零。根据您的要求,这可能不是您想要的。