public int MostAmountRequiredToLoseFight(int playerHitpoints, Player boss) { var combos = GetValidEquipmentCombinations().ToList(); foreach (var loadout in combos.OrderByDescending(x => x.Sum(y=>y.Cost))) { var p1 = new EquippedPlayer("Me", playerHitpoints, 0, 0, loadout); var p2 = new Player(boss.Name, boss.HitPoints, boss.Damage, boss.Armor); var battle = new Battle(p1, p2); var winner = battle.Fight(); if (winner == p2) return p1.Equipment.Sum(x => x.Cost); } return int.MinValue; }
public int MostAmountRequiredToLoseFight(int playerHitpoints, Player boss) { var combos = GetValidEquipmentCombinations().ToList(); foreach (var loadout in combos.OrderByDescending(x => x.Sum(y => y.Cost))) { var p1 = new EquippedPlayer("Me", playerHitpoints, 0, 0, loadout); var p2 = new Player(boss.Name, boss.HitPoints, boss.Damage, boss.Armor); var battle = new Battle(p1, p2); var winner = battle.Fight(); if (winner == p2) { return(p1.Equipment.Sum(x => x.Cost)); } } return(int.MinValue); }