Battle Bugfixes

This commit is contained in:
Georg Reisinger 2020-12-31 04:26:32 +01:00
parent 13bec601db
commit 93cbd8aae2
2 changed files with 322 additions and 322 deletions

View File

@ -73,12 +73,19 @@ public class Battle {
deckPlayer1.setCards(d2); deckPlayer1.setCards(d2);
//Runden //Runden
int maxroundcount = 100; int maxroundcount = 100, counter = 0, counter2 = 0;
for(int i = 0; d1.size()>i && d2.size()>i && i<maxroundcount; i++) { while(counter<maxroundcount) {
System.out.println("Runde: " + i); counter++;
Card c1 = d1.get(i); counter2++;
Card c2 = d2.get(i); if(counter2 < d1.size()-1 && counter2 < d2.size()-1){
System.out.println("Card 1: " + c1.getElementTyp()+c1.getCardType() + "\nCard 2: "+c2.getElementTyp()+c2.getCardType()); counter2 = 0;
}
System.out.println("Runde: " + counter);
System.out.println("deck 1 size: " + d1.size() + " Deck 2 size: " + d2.size());
Card c1 = d1.get(counter2);
Card c2 = d2.get(counter2);
System.out.println("Card 1: " + c1.getElementTyp() + c1.getCardType() + "\nCard 2: " + c2.getElementTyp() + c2.getCardType());
if (d1.size() > 0 && d2.size() > 0 && counter<=maxroundcount) {
//GLEICHER TYP Monster //GLEICHER TYP Monster
if (!c1.getCardType().name().toUpperCase().equals("SPELL") && !c2.getCardType().name().toUpperCase().equals("SPELL")) { if (!c1.getCardType().name().toUpperCase().equals("SPELL") && !c2.getCardType().name().toUpperCase().equals("SPELL")) {
System.out.println("Same Monster"); System.out.println("Same Monster");
@ -123,7 +130,7 @@ public class Battle {
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
} }
log.add("Player "+dragonOwner+" gewinnt!\nDrache ist stärker! Drache: " + dragon.getDamage() + " vs Goblin: " + goblin.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player " + dragonOwner + " gewinnt!\nDrache ist stärker! Drache: " + dragon.getDamage() + " vs Goblin: " + goblin.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} else { } else {
System.out.println("DRAW: Drache zu schwach um anzugreifen und GOBLIN zu feige."); System.out.println("DRAW: Drache zu schwach um anzugreifen und GOBLIN zu feige.");
} }
@ -150,111 +157,111 @@ public class Battle {
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
} }
log.add("Player "+dragonOwner+" gewinnt!\nWizzard ist stärker! Drache: " + dragon.getDamage() + " vs FireElves: " + fireelf.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player " + dragonOwner + " gewinnt!\nWizzard ist stärker! Drache: " + dragon.getDamage() + " vs FireElves: " + fireelf.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
//Sonst nix tun, weil der drache den elf ned angreifen kann //Sonst nix tun, weil der drache den elf ned angreifen kann
}else{ } else {
if(c1.getDamage() > c2.getDamage()){ if (c1.getDamage() > c2.getDamage()) {
d1.add(c2); d1.add(c2);
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
log.add("Player 1 gewinnt!\n"+c1.getElementTyp()+c1.getCardType()+" ist stärker! "+c1.getElementTyp()+c1.getCardType()+": " + c1.getDamage() + " vs "+c2.getElementTyp()+c2.getCardType()+": " + c2.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 1 gewinnt!\n" + c1.getElementTyp() + c1.getCardType() + " ist stärker! " + c1.getElementTyp() + c1.getCardType() + ": " + c1.getDamage() + " vs " + c2.getElementTyp() + c2.getCardType() + ": " + c2.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
}else if (c1.getDamage() < c2.getDamage()){ } else if (c1.getDamage() < c2.getDamage()) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
log.add("Player 2 gewinnt!\n"+c2.getElementTyp()+c2.getCardType()+" ist stärker! "+c2.getElementTyp()+c2.getCardType()+": " + c2.getDamage() + " vs "+c1.getElementTyp()+c1.getCardType()+": " + c1.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 2 gewinnt!\n" + c2.getElementTyp() + c2.getCardType() + " ist stärker! " + c2.getElementTyp() + c2.getCardType() + ": " + c2.getDamage() + " vs " + c1.getElementTyp() + c1.getCardType() + ": " + c1.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
} }
//Checkt ob eine der beiden karten ein wizzard ist und der andere ein ork //Checkt ob eine der beiden karten ein wizzard ist und der andere ein ork
} else if((c1.getCardType().name().toUpperCase().equals("WIZZARD") && c2.getCardType().name().toUpperCase().equals("ORK") || (c2.getCardType().name().toUpperCase().equals("WIZZARD") && c1.getCardType().name().toUpperCase().equals("ORK")))){ } else if ((c1.getCardType().name().toUpperCase().equals("WIZZARD") && c2.getCardType().name().toUpperCase().equals("ORK") || (c2.getCardType().name().toUpperCase().equals("WIZZARD") && c1.getCardType().name().toUpperCase().equals("ORK")))) {
System.out.println("Eine wizzard Andere ist ein ork"); System.out.println("Eine wizzard Andere ist ein ork");
Card wizzard = null; Card wizzard = null;
Card ork = null; Card ork = null;
int wizzardOwner = 0; int wizzardOwner = 0;
if(c1.getCardType().name().toUpperCase().equals("WIZZARD")){ if (c1.getCardType().name().toUpperCase().equals("WIZZARD")) {
wizzardOwner = 1; wizzardOwner = 1;
wizzard = c1; wizzard = c1;
ork = c2; ork = c2;
}else if(c1.getCardType().name().toUpperCase().equals("WIZZARD")){ } else if (c1.getCardType().name().toUpperCase().equals("WIZZARD")) {
wizzardOwner = 2; wizzardOwner = 2;
wizzard = c2; wizzard = c2;
ork = c1; ork = c1;
} }
if(wizzard.getDamage() > ork.getDamage()){ if (wizzard.getDamage() > ork.getDamage()) {
if(wizzardOwner == 1){ if (wizzardOwner == 1) {
d1.add(c2); d1.add(c2);
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
}else if (wizzardOwner == 2){ } else if (wizzardOwner == 2) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
} }
log.add("Player "+wizzardOwner+" gewinnt!\nWizzard ist stärker! Wizzard: " + wizzard.getDamage() + " vs Ork: " + ork.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player " + wizzardOwner + " gewinnt!\nWizzard ist stärker! Wizzard: " + wizzard.getDamage() + " vs Ork: " + ork.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
//Sonst nix tun, weil der ork dem wizzard keinen schaden machen kann //Sonst nix tun, weil der ork dem wizzard keinen schaden machen kann
}else{ } else {
//PURE MONSTER //PURE MONSTER
if(c1.getDamage() > c2.getDamage()){ if (c1.getDamage() > c2.getDamage()) {
d1.add(c2); d1.add(c2);
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
log.add("Player 1 gewinnt!\n"+c1.getElementTyp()+c1.getCardType()+" ist stärker! "+c1.getElementTyp()+c1.getCardType()+": " + c1.getDamage() + " vs "+c2.getElementTyp()+c2.getCardType()+": " + c2.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 1 gewinnt!\n" + c1.getElementTyp() + c1.getCardType() + " ist stärker! " + c1.getElementTyp() + c1.getCardType() + ": " + c1.getDamage() + " vs " + c2.getElementTyp() + c2.getCardType() + ": " + c2.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
}else if (c1.getDamage() < c2.getDamage()){ } else if (c1.getDamage() < c2.getDamage()) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
log.add("Player 2 gewinnt!\n"+c2.getElementTyp()+c2.getCardType()+" ist stärker! "+c2.getElementTyp()+c2.getCardType()+": " + c2.getDamage() + " vs "+c1.getElementTyp()+c1.getCardType()+": " + c1.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 2 gewinnt!\n" + c2.getElementTyp() + c2.getCardType() + " ist stärker! " + c2.getElementTyp() + c2.getCardType() + ": " + c2.getDamage() + " vs " + c1.getElementTyp() + c1.getCardType() + ": " + c1.getDamage() + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
//sonst nix weil bei gleichen damage --> draw //sonst nix weil bei gleichen damage --> draw
} }
} else {//PURE SPELL & mixed } else {//PURE SPELL & mixed
double damagePlayer1 = -1, damagePlayer2 = -1; double damagePlayer1 = -1, damagePlayer2 = -1;
if(c1.getCardType().name().toUpperCase().equals("KNIGHT") || c2.getCardType().name().toUpperCase().equals("KNIGHT")){ if (c1.getCardType().name().toUpperCase().equals("KNIGHT") || c2.getCardType().name().toUpperCase().equals("KNIGHT")) {
//Mixed mit "Spezialeffekt" KNIGHT //Mixed mit "Spezialeffekt" KNIGHT
System.out.println("Spell und knight"); System.out.println("Spell und knight");
Card knight =null, other = null; Card knight = null, other = null;
int knightOwner = 0; int knightOwner = 0;
if(c1.getCardType().name().toUpperCase().equals("KNIGHT")){ if (c1.getCardType().name().toUpperCase().equals("KNIGHT")) {
knight = c1; knight = c1;
other = c2; other = c2;
knightOwner = 1; knightOwner = 1;
}else if(c2.getCardType().name().toUpperCase().equals("KNIGHT")){ } else if (c2.getCardType().name().toUpperCase().equals("KNIGHT")) {
knight = c2; knight = c2;
other = c1; other = c1;
knightOwner = 2; knightOwner = 2;
} }
double damageKnight = -1, damageOther = -1; double damageKnight = -1, damageOther = -1;
if (other.getElementTyp().name().toUpperCase().equals("WATER")){ if (other.getElementTyp().name().toUpperCase().equals("WATER")) {
//tot //tot
damageKnight = 0; damageKnight = 0;
damageOther = other.getDamage(); damageOther = other.getDamage();
}else if (other.getElementTyp().name().toUpperCase().equals("FIRE") && knight.getElementTyp().name().equals("REGULAR")) { } else if (other.getElementTyp().name().toUpperCase().equals("FIRE") && knight.getElementTyp().name().equals("REGULAR")) {
//not effective //not effective
damageKnight = knight.getDamage() / 2; damageKnight = knight.getDamage() / 2;
//effective //effective
damageOther = other.getDamage() *2; damageOther = other.getDamage() * 2;
} else if (other.getElementTyp().name().toUpperCase().equals("FIRE") && knight.getElementTyp().name().equals("FIRE")) { } else if (other.getElementTyp().name().toUpperCase().equals("FIRE") && knight.getElementTyp().name().equals("FIRE")) {
//no effect //no effect
damageKnight = knight.getDamage(); damageKnight = knight.getDamage();
//no effect //no effect
damageOther = other.getDamage(); damageOther = other.getDamage();
}else if (other.getElementTyp().name().toUpperCase().equals("FIRE") && knight.getElementTyp().name().equals("WATER")) { } else if (other.getElementTyp().name().toUpperCase().equals("FIRE") && knight.getElementTyp().name().equals("WATER")) {
//effective //effective
damageKnight = knight.getDamage() * 2; damageKnight = knight.getDamage() * 2;
//not effective //not effective
damageOther = other.getDamage() / 2; damageOther = other.getDamage() / 2;
}else if (other.getElementTyp().name().toUpperCase().equals("REGULAR") && knight.getElementTyp().name().equals("REGULAR")) { } else if (other.getElementTyp().name().toUpperCase().equals("REGULAR") && knight.getElementTyp().name().equals("REGULAR")) {
//no effect //no effect
damageKnight = knight.getDamage(); damageKnight = knight.getDamage();
//no effect //no effect
@ -264,57 +271,57 @@ public class Battle {
damageKnight = knight.getDamage() * 2; damageKnight = knight.getDamage() * 2;
//not effective //not effective
damageOther = other.getDamage() / 2; damageOther = other.getDamage() / 2;
}else if (other.getElementTyp().name().toUpperCase().equals("REGULAR") && knight.getElementTyp().name().equals("WATER")) { } else if (other.getElementTyp().name().toUpperCase().equals("REGULAR") && knight.getElementTyp().name().equals("WATER")) {
//not effective //not effective
damageKnight = knight.getDamage() / 2; damageKnight = knight.getDamage() / 2;
//effective //effective
damageOther = other.getDamage() * 2; damageOther = other.getDamage() * 2;
} }
if(damageKnight > damageOther){ if (damageKnight > damageOther) {
if(knightOwner == 1){ if (knightOwner == 1) {
d1.add(c2); d1.add(c2);
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
log.add("Player 1 gewinnt!\n"+c1.getElementTyp()+c1.getCardType()+" ist stärker! "+c1.getElementTyp()+c1.getCardType()+": " + damageKnight + " vs "+c2.getElementTyp()+c2.getCardType()+": " + damageOther + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 1 gewinnt!\n" + c1.getElementTyp() + c1.getCardType() + " ist stärker! " + c1.getElementTyp() + c1.getCardType() + ": " + damageKnight + " vs " + c2.getElementTyp() + c2.getCardType() + ": " + damageOther + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
}else if(knightOwner == 2){ } else if (knightOwner == 2) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
log.add("Player 2 gewinnt!\n"+c2.getElementTyp()+c2.getCardType()+" ist stärker! "+c2.getElementTyp()+c2.getCardType()+": " + damageKnight + " vs "+c1.getElementTyp()+c1.getCardType()+": " + damageOther + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 2 gewinnt!\n" + c2.getElementTyp() + c2.getCardType() + " ist stärker! " + c2.getElementTyp() + c2.getCardType() + ": " + damageKnight + " vs " + c1.getElementTyp() + c1.getCardType() + ": " + damageOther + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
}else if(damageKnight < damageOther){ } else if (damageKnight < damageOther) {
if(knightOwner == 2){ if (knightOwner == 2) {
d1.add(c2); d1.add(c2);
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
log.add("Player 1 gewinnt!\n"+c1.getElementTyp()+c1.getCardType()+" ist stärker! "+c1.getElementTyp()+c1.getCardType()+": " + damageOther + " vs "+c2.getElementTyp()+c2.getCardType()+": " + damageKnight + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 1 gewinnt!\n" + c1.getElementTyp() + c1.getCardType() + " ist stärker! " + c1.getElementTyp() + c1.getCardType() + ": " + damageOther + " vs " + c2.getElementTyp() + c2.getCardType() + ": " + damageKnight + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
}else if(knightOwner == 1){ } else if (knightOwner == 1) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
log.add("Player 2 gewinnt!\n"+c2.getElementTyp()+c2.getCardType()+" ist stärker! "+c2.getElementTyp()+c2.getCardType()+": " + damageOther + " vs "+c1.getElementTyp()+c1.getCardType()+": " + damageKnight + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 2 gewinnt!\n" + c2.getElementTyp() + c2.getCardType() + " ist stärker! " + c2.getElementTyp() + c2.getCardType() + ": " + damageOther + " vs " + c1.getElementTyp() + c1.getCardType() + ": " + damageKnight + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
} }
}else if(c1.getCardType().name().toUpperCase().equals("KRAKEN") || c2.getCardType().name().toUpperCase().equals("KRAKEN")){ } else if (c1.getCardType().name().toUpperCase().equals("KRAKEN") || c2.getCardType().name().toUpperCase().equals("KRAKEN")) {
//Mixed mit "Spezialeffekt" KRAKEN //Mixed mit "Spezialeffekt" KRAKEN
if(c1.getCardType().name().toUpperCase().equals("KRAKEN")){ if (c1.getCardType().name().toUpperCase().equals("KRAKEN")) {
d1.add(c2); d1.add(c2);
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
log.add("Player 1 gewinnt!\n"+c1.getElementTyp()+c1.getCardType()+" ist stärker! "+c1.getElementTyp()+c1.getCardType()+": " + c1.getDamage() + " vs "+c2.getElementTyp()+c2.getCardType()+": 0\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 1 gewinnt!\n" + c1.getElementTyp() + c1.getCardType() + " ist stärker! " + c1.getElementTyp() + c1.getCardType() + ": " + c1.getDamage() + " vs " + c2.getElementTyp() + c2.getCardType() + ": 0\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
}else if(c2.getCardType().name().toUpperCase().equals("KRAKEN")){ } else if (c2.getCardType().name().toUpperCase().equals("KRAKEN")) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
log.add("Player 2 gewinnt!\n"+c2.getElementTyp()+c2.getCardType()+" ist stärker! "+c2.getElementTyp()+c2.getCardType()+": " + c2.getDamage() + " vs "+c1.getElementTyp()+c1.getCardType()+": 0\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 2 gewinnt!\n" + c2.getElementTyp() + c2.getCardType() + " ist stärker! " + c2.getElementTyp() + c2.getCardType() + ": " + c2.getDamage() + " vs " + c1.getElementTyp() + c1.getCardType() + ": 0\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
}else{ } else {
////PURE SPELL & mixed mit elementen ////PURE SPELL & mixed mit elementen
System.out.println("Spell und mixed mit elementen"); System.out.println("Spell und mixed mit elementen");
//Player 1 Damage berechnen //Player 1 Damage berechnen
@ -394,13 +401,13 @@ public class Battle {
d2.remove(c2); d2.remove(c2);
this.scorePlayer1 += 3; this.scorePlayer1 += 3;
this.scorePlayer2 -= 5; this.scorePlayer2 -= 5;
log.add("Player 1 gewinnt!\n"+c1.getElementTyp()+c1.getCardType()+" ist stärker! "+c1.getElementTyp()+c1.getCardType()+": " + damagePlayer1 + " vs "+c2.getElementTyp()+c2.getCardType()+": " + damagePlayer2 + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 1 gewinnt!\n" + c1.getElementTyp() + c1.getCardType() + " ist stärker! " + c1.getElementTyp() + c1.getCardType() + ": " + damagePlayer1 + " vs " + c2.getElementTyp() + c2.getCardType() + ": " + damagePlayer2 + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} else if (damagePlayer2 > damagePlayer1) { } else if (damagePlayer2 > damagePlayer1) {
d2.add(c1); d2.add(c1);
d1.remove(c1); d1.remove(c1);
this.scorePlayer2 += 3; this.scorePlayer2 += 3;
this.scorePlayer1 -= 5; this.scorePlayer1 -= 5;
log.add("Player 2 gewinnt!\n"+c2.getElementTyp()+c2.getCardType()+" ist stärker! "+c2.getElementTyp()+c2.getCardType()+": " + damagePlayer2 + " vs "+c1.getElementTyp()+c1.getCardType()+": " + damagePlayer1 + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: "+ scorePlayer2); log.add("Player 2 gewinnt!\n" + c2.getElementTyp() + c2.getCardType() + " ist stärker! " + c2.getElementTyp() + c2.getCardType() + ": " + damagePlayer2 + " vs " + c1.getElementTyp() + c1.getCardType() + ": " + damagePlayer1 + "\nPlayer 1 score: " + scorePlayer1 + "\nPlayer 2 score: " + scorePlayer2);
} }
} else { } else {
System.out.println("Damage konnte nicht berechnet werden"); System.out.println("Damage konnte nicht berechnet werden");
@ -409,6 +416,7 @@ public class Battle {
} }
} }
} }
}
this.deckPlayer1 = new Cards(d1); this.deckPlayer1 = new Cards(d1);
this.deckPlayer2 = new Cards(d2); this.deckPlayer2 = new Cards(d2);
}else{ }else{

View File

@ -410,42 +410,34 @@ public class Response {
if(new DBConnection().addBattleLog(openBattle.getId()+"", openBattle.getPlayer1().getName(), openBattle.getPlayer2().getName(), openBattle.getScorePlayer1()+"", openBattle.getScorePlayer2() +"")){ if(new DBConnection().addBattleLog(openBattle.getId()+"", openBattle.getPlayer1().getName(), openBattle.getPlayer2().getName(), openBattle.getScorePlayer1()+"", openBattle.getScorePlayer2() +"")){
if(new DBConnection().delDeck(openBattle.getPlayer1().getCredentials().getUsername()) && new DBConnection().delDeck(openBattle.getPlayer2().getCredentials().getUsername())) { if(new DBConnection().delDeck(openBattle.getPlayer1().getCredentials().getUsername()) && new DBConnection().delDeck(openBattle.getPlayer2().getCredentials().getUsername())) {
//DEL OLD DECK CARDS //DEL OLD DECK CARDS
ArrayList<String> oldDeck1 = new ArrayList<String>();
for (Card ca: openBattle.getDeckPlayer1Init().getCards()){ for (Card ca: openBattle.getDeckPlayer1Init().getCards()){
if(!new DBConnection().delUserCard(openBattle.getPlayer1().getCredentials().getUsername(), ca.getName())){ oldDeck1.add(ca.getName());
sendResponse("Error Deleting user card1: " + ca.getName(), "500");
}
} }
ArrayList<String> oldDeck2 = new ArrayList<String>();
for (Card ca: openBattle.getDeckPlayer2Init().getCards()){ for (Card ca: openBattle.getDeckPlayer2Init().getCards()){
if(!new DBConnection().delUserCard(openBattle.getPlayer2().getCredentials().getUsername(), ca.getName())){ oldDeck2.add(ca.getName());
sendResponse("Error Deleting user card2: " + ca.getName(), "500");
}
} }
//DEL NEW CARDS IF EXIST //DEL NEW CARDS IF EXIST
Cards player1cards = new DBConnection().getCards(openBattle.getPlayer1().getCredentials().getUsername()); Cards player1cards = new DBConnection().getCards(openBattle.getPlayer1().getCredentials().getUsername());
ArrayList<String> player1CardsList = new ArrayList<String>(); for(Card ca:openBattle.getDeckPlayer1().getCards()){
for(Card ca:player1cards.getCards()){ oldDeck1.add(ca.getName());
player1CardsList.add(ca.getName());
} }
if(player1cards.getCards() != null && !player1cards.getCards().isEmpty()) { if(player1cards.getCards() != null && !player1cards.getCards().isEmpty()) {
for (Card ca : openBattle.getDeckPlayer1().getCards()) { for (String ca : oldDeck1) {
if (player1CardsList.contains(ca.getName())){ if(!new DBConnection().delUserCard(openBattle.getPlayer1().getCredentials().getUsername(), ca)){
if(!new DBConnection().delUserCard(openBattle.getPlayer1().getCredentials().getUsername(), ca.getName())){ sendResponse("Error Deleting user card1: " + ca, "500");
sendResponse("Error Deleting user card1: " + ca.getName(), "500");
}
} }
} }
} }
Cards player2cards = new DBConnection().getCards(openBattle.getPlayer2().getCredentials().getUsername()); Cards player2cards = new DBConnection().getCards(openBattle.getPlayer2().getCredentials().getUsername());
ArrayList<String> player2CardsList = new ArrayList<String>(); for(Card ca:openBattle.getDeckPlayer2().getCards()){
for(Card ca:player2cards.getCards()){ oldDeck2.add(ca.getName());
player2CardsList.add(ca.getName());
} }
if(player2cards.getCards() != null && !player2cards.getCards().isEmpty()) { if(player2cards.getCards() != null && !player2cards.getCards().isEmpty()) {
for (Card ca : openBattle.getDeckPlayer2().getCards()) { for (String ca : oldDeck2) {
if (player2CardsList.contains(ca.getName())){ if(!new DBConnection().delUserCard(openBattle.getPlayer2().getCredentials().getUsername(), ca)){
if(!new DBConnection().delUserCard(openBattle.getPlayer2().getCredentials().getUsername(), ca.getName())){ sendResponse("Error Deleting user card2: " + ca, "500");
sendResponse("Error Deleting user card2: " + ca.getName(), "500");
}
} }
} }
} }