Пример #1
0
        protected override FootballTeam Create(string name, int rosterSize,
                                               OffensiveStyle offense,
                                               DefensiveStyle defense)
        {
            FootballTeam result;

            switch (offense)
            {
            case OffensiveStyle.Balanced:
                result = new BalancedFootballTeam(name, "Balanced Coach", rosterSize);
                break;

            case OffensiveStyle.Aggressive:
                result = new PassHappyFootballTeam(name, "Aggressive Coach", rosterSize);
                break;

            case OffensiveStyle.Conservative:
                result = new BallControlFootballTeam(name, "Conservative Coach", rosterSize);
                break;

            default:
                throw new ArgumentOutOfRangeException("offense");
            }
            return(result);
        }
        public FootballTeam Create(string name,
                                   OffensiveStyle offense = OffensiveStyle.Balanced,
                                   DefensiveStyle defense = DefensiveStyle.Balanced)
        {
            var team = Create(name, RosterSize, offense, defense);

            Console.WriteLine("{0} has been created with {1} players.",
                              team.Name,
                              team.Size);
            return(team);
        }
 protected abstract FootballTeam Create(string name, int rosterSize,
                                        OffensiveStyle offense,
                                        DefensiveStyle defense);