RPG_Final_HenrikeAkshat/Kampfregel.java
Sobottasgithub e2f5e70d70 Init
2025-11-09 15:17:21 +01:00

58 lines
1.8 KiB
Java

import java.util.concurrent.TimeUnit;
public class Kampfregel {
Wuerfel dice2 = new Wuerfel(2);
Wuerfel dice6 = new Wuerfel(6);
Wuerfel dice10 = new Wuerfel(10);
public int bonus_berechnen() {
if (dice2.wuerfeln() == 1) return dice6.wuerfeln();
return dice10.wuerfeln();
}
public void kampf(Held held, Monster monster) {
int heldHealth = held.getHp();
int monsterHealth = monster.getHp();
// Game loop until monster or held health == 0
while (monsterHealth > 0 || heldHealth > 0) {
heldHealth = held.getHp();
monsterHealth = monster.getHp();
// calc weapon damage if weapon != null
int heldDamage = 0;
if (held.getWaffe() != null) {
heldDamage += (int) held.getWaffe().getAngriffspunkte();
}
heldDamage += held.getDamage() + bonus_berechnen();
int monsterDamage = monster.getDamage() + bonus_berechnen();
// calc winner
if (heldDamage <= monsterDamage) {
held.setHp(held_hp - 1);
System.out.println(
"Der Held "
+ held.getName()
+ " hat versucht ein Monster anzugreifen und hat dabei ein Lebenspunkt verloren.");
} else if (held_damage > monster_damage) {
monster.setHp(monster_hp - 1);
System.out.println(monster.getHp());
System.out.println(
"Der Held "
+ held.getName()
+ " hat versucht ein Monster anzugreifen und dabei gewonnen.");
} else {
// If both have the same damage
System.out.println("Diese Runde passiert nichts.");
}
try {
TimeUnit.SECONDS.sleep(1);
} catch (Exception e) {
Thread.currentThread().interrupt();
}
}
}
}