Я бы создал класс, который обеспечивает это.
public class Health {
private int health = 100;
public int getHealth() {
return health;
}
// use this for gaining health
public void addHealth(int amount) {
health = Math.min(health + amount, 100);
}
// use this for taking damage, etc.
public void removeHealth(int amount) {
health = Math.max(health - amount, 0);
}
// use this when you need to set a specific health amount for some reason
public void setHealth(int health) {
if (health < 0 || health > 100)
throw new IllegalArgumentException("Health must be in the range 0-100: " + health);
this.health = health;
}
}
Таким образом, если у вас есть экземпляр Health
, вы точно знаете, что он представляет действительное количество здоровья.Я полагаю, что вы обычно хотели бы просто использовать методы, такие как addHealth
, а не устанавливать здоровье напрямую.