public IFighter CreateFighter(int lives, int attack, int defense, IEnumerable <string> options)
        {
            IFighter fighter = new Fighter(lives, attack, defense);

            foreach (var option in options)
            {
                switch (option)
                {
                case SHOTGUN:
                    fighter = new ShotgunFighterDecorator(fighter);
                    break;

                case POISON:
                    fighter = new PoisonFighterDecorator(fighter);
                    break;

                case DOUBLE_HANDED:
                    fighter = new DoubleHandedFighterDecorator(fighter);
                    break;

                case MINION:
                    fighter = new MinionFighterDecorator(fighter);
                    break;

                case SHIELD:
                    fighter = new ShieldFighterDecorator(fighter);
                    break;
                }
            }

            return(fighter);
        }
Example #2
0
        public IFighter CreateFighter(int lives, int attack, int defense, IEnumerable <string> options)
        {
            IFighter fighter = new Fighter(lives, attack, defense);

            foreach (var option in options)
            {
                // magic numbers in constructor van class meegeven (zoals shielddefend en aantal kogels)
                switch (option)
                {
                case DOUBLE_HANDED:
                    fighter = new DoubleHandedFighterDecorator(fighter);
                    break;

                case MINION:
                    fighter = new MinionFighterDecorator(fighter);
                    break;

                case POISON:
                    fighter = new PoisonFighterDecorator(fighter);
                    break;

                case SHIELD:
                    fighter = new ShieldFighterDecorator(fighter);
                    break;

                case SHOTGUN:
                    fighter = new ShotgunFighterDecorator(fighter);
                    break;

                case STRENGTHEN:
                    fighter = new StrengthenFighterDecorator(fighter);
                    break;
                }
            }

            return(fighter);
        }