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; } }