Witam przerabiam sobie teraz trochę tut na yt i aktualnie robię sobie taki mini projekt. Mam jeden problem a mianowicie chciałbym aby program w każdym kroku losował nowe wartości i wiem, że można zrobić wszystko w jednej klasie ale przy większym projekcie takie tworzenie ma chyba sens? Myślałem nad przeniesieniem funkcji "wyliczenie" do innych klas i wtedy w pętli for w GetAttack() tworzyłoby tyle różnych wartości ile kroków do pokonania jednej z stron ale coś nie chciało działać :D Pewnie poszłoby gdybym napisał tablicę i dał żeby wylosował od razu z 80 możliwości ale takie coś raczej nie ma sensu :)
package HeroVsMonster;
public class Monster {
private int Health = 500;
private int Attack = (int) (Math.random()* 16);
public int GetHealth()
{
return Health;
}
public int GetAttack()
{
return Attack;
}
}
package HeroVsMonster;
public class Hero {
private int Health = 200;
private int Attack = random(10, 40);
public int GetHealth()
{
return Health;
}
public int GetAttack()
{
return Attack;
}
int random(int min, int max)
{
int range = (max - min) +1 ;
return (int)(Math.random() * (double)range) + min;
}
}
package HeroVsMonster;
public class Versus {
public static void main(String[] args) {
Monster Kaczka = new Monster();
Hero Jozek = new Hero();
int mHealth = Kaczka.GetHealth();
int hHealth = Jozek.GetHealth();
int wyliczenie = 0;
while (mHealth > 0 && hHealth > 0)
{
wyliczenie++;
mHealth -= Jozek.GetAttack();
hHealth -= Kaczka.GetAttack();
System.out.println(wyliczenie + " HP Kaczki: " + mHealth + " vs HP Józka: " + hHealth);
}
if (mHealth <=0)
{
System.out.println("HERO uratował ziemię!");
}
else if (hHealth <=0)
{
System.out.println("KACZKA przejeła kontrolę nad ziemią ");
}
else
{
System.out.println("Kaczka i HERO zgineli w walce zabijając siebie nawzajem");
}
}
}