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);