コード例 #1
0
        public IOutStrategy GetOutStrategy(BatsmanType batsmanType)
        {
            switch (batsmanType)
            {
            case BatsmanType.Tailender: return(new TailenderStrategy());

            default: return(new NormalOutstrategy());
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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)));
            }
        }
コード例 #4
0
 public BatsmanBase GetBatsman(BatsmanType type)
 {
     return(new Batsman(BatterRunGen));
 }