public double GetScore() { var hypotesisCost = Configuration.DamageCost * Damage + Configuration.CardDrawCost * CardDraw + Configuration.EnemyHpCost * EnemyHp + Configuration.HealthCost * Health + Configuration.PlayerHPCost * PlayerHP + Configuration.BreakthroughCost * Abilities.Count(a => a == 'B') + Configuration.ChargeCost * Abilities.Count(a => a == 'C') + Configuration.DrainCost * Abilities.Count(a => a == 'D') + Configuration.GuardCost * Abilities.Count(a => a == 'G') + Configuration.LethalCost * Abilities.Count(a => a == 'L') + Configuration.WardCost * Abilities.Count(a => a == 'W') + Configuration.InitCost; return(hypotesisCost - Cost); }
public void UseAbility(int ablitiyId) { if (Abilities.Count() > 0) { var abilities = from ability in Abilities where ability.Id == ablitiyId select ability; foreach (var a in abilities) { a.AbilityFunction.Invoke(new List <AbilityArgs>() { new AbilityArgs(this) }); } } }
public void PlayerTest() { Player p1 = new Player { Name = "Cer" }; var capabilities = new Abilities[] { Abilities.Intuition, Abilities.Explore, Abilities.Convince }; foreach (var capability in capabilities) { p1.SwitchAbility(capability); } int found_ability_count = 0; foreach (var possible_ability in (Abilities[])Enum.GetValues(typeof(Abilities))) { if (p1.IsCapable(possible_ability)) { Assert.IsTrue(capabilities.Contains(possible_ability), "player has an unexpected ability."); found_ability_count++; } } Assert.AreEqual(capabilities.Count(), found_ability_count); }