Я создал метод, который должен "наносить двойной урон" тем, кто является огнем, и использую этот метод, когда я нажимаю кнопку.
Это мой школьный проект - простая игра, похожая на покемонов, с которой у меня есть несколько проблем.
Я использую Android Studio.
Конструктор для атак
public Attacks(int damage , int accuracy , int critChance , boolean water , boolean fire) {
this.accuracy = accuracy;
this.critChance = critChance;
this.damage = damage;
this.fire = fire;
this.water = water;
}
public boolean isFire(){
return fire;
}
public int getDamage(){
return damage;
}
Конструктор для персонажей
public Characters(int health, boolean fire) {
this.health = health;
this.fire = fire;
}
public boolean characterIsFire()
{
return fire;
}
public int getHealth() {
return health;
}
Что произойдет, когда я нажму кнопку:
Это другой класс.Это в классе «Fight View», здесь макет соответствует коду.
attackOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
if(fredrikVald)
{
spelare.setText("Fredrik Used Fireball");
}
if(jonteVald)
{
spelare.setText("Jonte Used Waterball");
}
}
});
Метод атаки.
Это в классе атаки.
public void attack(Attacks a)
{
Characters attacked = characters.get((player_in_turn + 1) % NR_OF_CHARACTERS);
if(attacked.characterIsFire()&& !a.isFire())
{
attacked.health = attacked.getHealth() - (a.getDamage() * 2);
}
else
{
attacked.health = attacked.health - a.getDamage();
}
}
Я хочу, чтобы метод атаки запускался при нажатии кнопки.Так что здоровье любого персонажа будет ухудшаться при любой атаке, даже если это огонь или нет.