Demo på Clean Code
This commit is contained in:
30
CleanDemo/BattleService.cs
Normal file
30
CleanDemo/BattleService.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user