Cześć,
mam takie pytanie bo uczę się javy i postanowiłem ze spróbuje napisać mały projekt tj. tekstowa gra rpg i już na starcie mam problem. Stworzyłem klasę gracz oraz klasę przeciwnik.Teraz postanowiłem stworzyć klasę Walka która będzie odpowiadał za walkę w momencie spotkania gracza i jakiegoś moba i problem mam taki ze nie wiem do końca jak przekazać obiekt gracza i moba z klasy głównej do owej klasy Walka. To znaczy przekazuje te obiekty w konstruktorze klasy Walka ale kiedy próbuje wywołać metodę z klasy mob odpowiedzialna za otrzymywanie obrazę to linijka kodu jest podkreślona z info "@ expected after this token".Kody klas ponizej.
Klasa Gracz
import java.util.Random;
public class Gracz {
private String nick;
private int hp;
private int level;
private int atak;
private int crit;
Random kryt = new Random();
public Gracz(String name,int hp,int level,int atak,int crit)
{
this.nick=name;
this.hp=hp;
this.level=level;
this.atak=atak;
this.crit=crit;
}
public int getHp()
{
return hp;
}
public int atak()
{
int krytyczny=kryt.nextInt(100);
if(krytyczny>=crit)
return atak+10; //10 to bonus do ataku
else
return atak;
}
public void wypisz_staty()
{
System.out.println("Imie:"+nick+" punkty zdrowia:"+hp+" poziom: "+level+" sila ataku:"+atak+" szansa na kryt:"+crit);
}
}
Klasa Przeciwnik
import java.util.Random;
public class Przeciwnik {
private String nick;
private int hp;
private int level;
private int atak;
Random a=new Random();
public Przeciwnik(String name,int hp,int level,int atak)
{
this.nick=name;
this.hp=hp;
this.level=level;
this.atak=atak;
}
public int atak()
{
int attack=a.nextInt(50);
return attack;
}
public void obrazenia(int attack)
{
hp=hp-attack;
}
public void getHP()
{
System.out.println(hp);
}
}
Klasa Walka
public final class Walka {
Gracz radi;
Przeciwnik mob;
public Walka(Gracz radi,Przeciwnik mob) {
this.radi=radi;
this.mob=mob;
}
mob.obrazenia(radi.atak()); //blad ??
}
Main
import java.util.Random;
public final class Gra {
public static void main(String[] args) {
Gracz radi = new Gracz("Radi",250,1,10,15);
radi.wypisz_staty();
Przeciwnik goblin = new Przeciwnik("Kog",100,1,15);
Walka bitwa = new Walka(radi,goblin);
}
}