Beispiel #1
0
        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);
        }
Beispiel #2
0
        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)
                    });
                }
            }
        }
Beispiel #3
0
        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);
        }