public static bool IsOver(this Battle battle) { var hero = battle.GetHero(); if (hero == null || hero.Unit.IsDead()) { return(true); } if (battle.GetEnemies().Count() == 0) { return(true); } return(false); }
private static BattleUnit GetDefenderToAttack(Battle battle) { var enemies = battle.GetEnemies(); foreach (var enemy in enemies) { Console.WriteLine($"Hit {enemy.Id} to attack {enemy.Unit.Name}. {enemy.Unit.Weapon.GetType().Name}, {enemy.Unit.Shield.GetType().Name}. Health: {enemy.Unit.Health}."); } var targetIds = enemies.Select(x => Convert.ToChar(Convert.ToString(x.Id))); var targetId = Convert.ToInt32(Convert.ToString(KeyPresser.WaitFor(targetIds))); Console.WriteLine(); var defender = battle.GetUnitById(targetId); return(defender); }