Files
CleanCode/CleanDemo/BattleService.cs
2026-03-08 11:55:18 +01:00

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