30 lines
1.0 KiB
C#
30 lines
1.0 KiB
C#
public class BattleService {
|
|
public void PlayerAttacks(Player player, Enemy enemy) {
|
|
int totalDamage = player.CalculateDamage();
|
|
enemy.TakeDamage(totalDamage);
|
|
Console.WriteLine($"{player.Name} attackts {enemy.Name} for {totalDamage}");
|
|
|
|
if (enemy.IsDead) {
|
|
Console.WriteLine($"{enemy.Name} is dead");
|
|
string loot = enemy.GetLoot();
|
|
player.AddToInventory((loot));
|
|
Console.WriteLine($"{player.Name} received: {loot}");
|
|
}
|
|
}
|
|
public void EnemyAttacks(Enemy enemy, Player player) {
|
|
if(enemy.IsDead) return;
|
|
|
|
int totalDamage = CalculateEnemyDamage(enemy);
|
|
player.TakeDamage(totalDamage);
|
|
Console.WriteLine($"{enemy.Name} attackts {player.Name} for {totalDamage}");
|
|
|
|
if (player.IsDead) {
|
|
Console.WriteLine($"{player.Name} is dead");
|
|
}
|
|
}
|
|
private int CalculateEnemyDamage(Enemy enemy) {
|
|
return enemy.Type == EnemyType.Boss
|
|
? (int)(enemy.Damage * 1.5)
|
|
: enemy.Damage;
|
|
}
|
|
} |