Bom dia galera o/!
Falta muito pouco para terminar esse trabalho, necessito apenas de uma ajuda quanto a esse problema.
public void VS (Heroi he, Vilao vi, Golpe poder){
while (he.getVida() > 0 && vi.getVida() > 0){
int danoheroi = this.getPod() .getPoderh() - this.getPod() .getDefesav() ;
int danovilao = this.getPod() .getPoderv() - this.getPod() .getDefesah();
this.getHe().setVida(this.getHe().getVida() - danovilao);// seta a vida atual, levando em conta o dano recebido
System.out.println ("Okami foi atingido com: " + danovilao + " de dano");
this.getVi().setVida(this.getVi().getVida() - danoheroi);
System.out.println("Amaterasu foi atingido com: " + danoheroi + " de dano");
}
}
}
Quando executo esse método, ele sempre pega os mesmos valores dos sets.
[code] public static void main(String[] args) {
//Não ao certo se devo iniciar esses dois objetos, tanto faz. Foi necessário
Golpe poder = new Golpe();
Heroi he = new Heroi();
he.setNome("Okami");
he.setVida(100);
poder.setPoderh((int)(Math.random()*5));
poder.setDefesah((int)(Math.random()*10));
// Os atributos de ataque e defesa, já são setados na classe Golpe. E não aqui no objeto > Mudança de planos
Vilao vi = new Vilao();
vi.setNome(“Amaterasu”);
vi.setVida(100);
poder.setPoderv((int)(Math.random()*10));
poder.setDefesav((int)(Math.random()*5));
Luta versus = new Luta();
versus.setHe(he);
versus.setVi(vi);
versus.setPod(poder);
versus.VS(he,vi,poder);
}
}[/code]
Gostaria de fazer com que ele ao final do laço, pegasse valores diferentes no math.random. E isso não sei como fazer =\ Nem tenho ideia por sinal.
O programa retorna isso:
Amaterasu foi atingido com: 1 de dano
Okami foi atingido com: -9 de dano
Amaterasu foi atingido com: 1 de dano
Okami foi atingido com: -9 de dano
Amaterasu foi atingido com: 1 de dano
Okami foi atingido com: -9 de dano
Amaterasu foi atingido com: 1 de dano
Okami foi atingido com: -9 de dano
Amaterasu foi atingido com: 1 de dano
Okami foi atingido com: -9 de dano
Amaterasu foi atingido com: 1 de dano
A idea é fazer com que ele retorne:
Amaterasu foi atingido com: 5 de dano
Okami foi atingido com: 8 de dano
Amaterasu foi atingido com: 4 de dano
Okami foi atingido com: 3 de dano
Amaterasu foi atingido com: 6 de dano
Okami foi atingido com: 7 de dano
Amaterasu foi atingido com: 4 de dano
Okami foi atingido com: 8 de dano
Amaterasu foi atingido com: 2 de dano
Okami foi atingido com: 1 de dano
Amaterasu foi atingido com: 9 de dano