Javaában egy szöveges játkon dolgozam és nem értek valamit?
Nemrég kezdtem el programozni javában. Most egy text kaland játékon dolgozom. Van egy ellenség aki meg akar támadni, és random kivállasztódik, hogy merről üt, ekkor a játékosnak meg kell tippelnie hogy merről fog ütni, ha jól tippel akkor kivédi és nem sérül meg. Ez így néz ki:
//Zombie attack
System.out.println("Most a zombi üt, dönts el, hogy honnan!");
System.out.println(" A. Jobbról ");
System.out.println(" B. Balról ");
String defend = in.nextLine().toUpperCase();
int ZombieTactic = rand.nextInt(2)+1;
//Zombie decision
if(ZombieTactic == 1){
ZombieTacticString = "A";
}
else{
ZombieTacticString = "B";
}
//Success
if(ZombieTacticString == defend){
System.out.println("Kivédted a támadást!");
}
else{
System.out.println("Nem sikerült kivédeni a támadást!");
playerHealth -= zombieAttack;
System.out.println(ZombieTacticString);
}
A gond az, hogy észrevettem hogy a játékos hiába találta ki hogy merről üt a zombi (ellenőrzés miatt van ott az hogy System.out.println(ZombieTacticString);) a kondíció akkor is az else-t játsza le.
Így néz ki a konzol:
B
Nem sikerült kivédeni a támadást!
B
## Mit csinálsz? ##
>> A.Támad karddal <<
>> B.Támad íjjal <<
>> C.Gyógyszer bevétele <<
Mit csinálhatok rosszul?
Nem így kell összehasonlítani a két String-et. Talán CompareTo-val vagy hogy van leírva.
:)
Első válaszoló vagyok, egy link:
Dehogy...
Java még nem jutott el az operátor túlterhelésig...
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!