public IOutStrategy GetOutStrategy(BatsmanType batsmanType) { switch (batsmanType) { case BatsmanType.Tailender: return(new TailenderStrategy()); default: return(new NormalOutstrategy()); } }
public CricketGame(int overs, int target, BatsmanType batsmanType, BowlerType bowlerType, IPlayerFactory playerFactory, IOutStrategyFactory outstrategyFactory) { BallCount = overs * 6; Target = target; Overs = overs; PlayerFactory = playerFactory; Bowler = PlayerFactory.GetBowler(bowlerType); Batsman = PlayerFactory.GetBatsman(batsmanType); outStrategyFactory = outstrategyFactory; outStrategy = outstrategyFactory.GetOutStrategy(batsmanType); }
public BatsmanBase GetBatsman(BatsmanType type) { switch (type) { case BatsmanType.Hitter: return(new Batsman(new HitterRunGen(new List <int>() { 0, 4, 6 }))); case BatsmanType.Defensive: return(new Batsman(new HitterRunGen(new List <int>() { 0, 1, 2, 3 }))); default: return(new Batsman(new RandGen(0, 6))); } }
public BatsmanBase GetBatsman(BatsmanType type) { return(new Batsman(BatterRunGen)); }