Ejemplo n.º 1
0
        public void TestAttackPossibleSymbiosys()
        {
            var attacker = new Animal(new Player("player1"));

            attacker.AddUpgrade(new UpgradeCarnivorous());

            var animals = new AnimalCollection(new Player("player2"));
            var a1      = animals.AddAnimal();
            var a2      = animals.AddAnimal();

            animals.AddUpgrade(a1, new UpgradeSymbiosys());

            var check1 = AttackPossibilityChecker.Instance.CanAttack(attacker, a1);
            var check2 = AttackPossibilityChecker.Instance.CanAttack(attacker, a2);

            Assert.True(check1);
            Assert.False(check2);
        }
Ejemplo n.º 2
0
 private void CreateAttackerAndVictim(out Animal attacker, out Animal victim)
 {
     attacker = new Animal(new Player("player1"));
     victim   = new Animal(new Player("player2"));
     attacker.AddUpgrade(new UpgradeCarnivorous());
 }
Ejemplo n.º 3
0
        public static Animal UpgradeAnimal(Animal animal, IEnumerable <UpgradeType> upgrades)
        {
            foreach (var u in upgrades)
            {
                switch (u)
                {
                case UpgradeType.Burrowing:
                    animal.AddUpgrade(new UpgradeBurrowing());
                    break;

                case UpgradeType.Camouflage:
                    animal.AddUpgrade(new UpgradeCamouflage());
                    break;

                case UpgradeType.Carnivorous:
                    animal.AddUpgrade(new UpgradeCarnivorous());
                    break;

                case UpgradeType.Fat:
                    animal.AddUpgrade(new UpgradeFat());
                    break;

                case UpgradeType.Grazing:
                    animal.AddUpgrade(new UpgradeGrazing());
                    break;

                case UpgradeType.Hibernation:
                    animal.AddUpgrade(new UpgradeHibernation());
                    break;

                case UpgradeType.HighBodyWeight:
                    animal.AddUpgrade(new UpgradeHighBodyWeight());
                    break;

                case UpgradeType.Mimicry:
                    animal.AddUpgrade(new UpgradeMimicry());
                    break;

                case UpgradeType.Parasite:
                    animal.AddUpgrade(new UpgradeParasite());
                    break;

                case UpgradeType.Piracy:
                    animal.AddUpgrade(new UpgradePiracy());
                    break;

                case UpgradeType.Poisonous:
                    animal.AddUpgrade(new UpgradePoisonous());
                    break;

                case UpgradeType.Running:
                    animal.AddUpgrade(new UpgradeRunning());
                    break;

                case UpgradeType.Scavanger:
                    animal.AddUpgrade(new UpgradeScavenger());
                    break;

                case UpgradeType.SharpVision:
                    animal.AddUpgrade(new UpgradeSharpVision());
                    break;

                case UpgradeType.Swimming:
                    animal.AddUpgrade(new UpgradeSwimming());
                    break;

                case UpgradeType.TailLoss:
                    animal.AddUpgrade(new UpgradeTailLoss());
                    break;
                }
            }
            return(animal);
        }