Exemple #1
0
        public void test_playing_ball_results_in_different_outcome()
        {
            MockRandomNumberGenerator mock = new MockRandomNumberGenerator(0);
            outcomes outcome = new Batsman(mock).Play(FOUR_RUNS);

            Assert.Equal(NO_RUNS, outcome);
        }
Exemple #2
0
        private void startCapturingProcess()
        {
            //Setting the current batsman
            if (rbBatsman1.Checked)
            {
                currentBatsman = batsman1;
            }
            else if (rbBatsman2.Checked)
            {
                currentBatsman = batsman2;
            }

            //Setting the current bowler
            if (rbBowler1.Checked)
            {
                currentBowler = bowler1;
            }
            else if (rbBowler2.Checked)
            {
                currentBowler = bowler2;
            }



            //Enable the runs and extras group boxes
            grpRuns.Enabled         = true;
            grpExtras.Enabled       = true;
            grpBallPosition.Enabled = true;
            grpRunType.Enabled      = true;

            FILENAME     = getFileName();
            BALL_NUMBER += 1;

            //MessageBox.Show(FILENAME);

            clsCapture.setSaveFileName(FILENAME);
            clsCapture.startCapture();

            //Dissable the start capture button and enable the record button
            btnCapture.Enabled = false;
            btnRecord.Enabled  = true;

            //Set picture fram colors
            if (currentBatsman.battingHand == 'L')//Make panel 1 Active
            {
                splitContainer1.Panel1.BackColor = PICFRAM_ACTIVE;
                splitContainer1.Panel2.BackColor = PICFRAM_INACTIVE;

                splitContainer1.Panel1.Enabled = true;
                splitContainer1.Panel2.Enabled = false;
            }
            else if (currentBatsman.battingHand == 'R')// Make panal 2 Active
            {
                splitContainer1.Panel2.BackColor = PICFRAM_ACTIVE;
                splitContainer1.Panel1.BackColor = PICFRAM_INACTIVE;

                splitContainer1.Panel2.Enabled = true;
                splitContainer1.Panel1.Enabled = false;
            }
        }
Exemple #3
0
        private void txtBatsman2_TextChanged(object sender, EventArgs e)
        {
            if (txtBatsman2.Text == "")
            {
                return;
            }

            string batsmanname = txtBatsman2.Text;

            foreach (clsPlayer player in battingTeam.players)
            {
                if (batsmanname == player.fName + " " + player.lName)
                {
                    batsman2 = new Batsman();

                    batsman2.battingHand  = player.battingHand;
                    batsman2.bowlingStyle = player.bowlingStyle;
                    batsman2.country      = player.country;
                    batsman2.dob          = player.dob;
                    batsman2.fName        = player.fName;
                    batsman2.lName        = player.lName;
                    batsman2.playerId     = player.playerId;
                    break;
                }
            }
        }
Exemple #4
0
        public void TestHitter()
        {
            MockRangeRunGenManual runGen = new MockRangeRunGenManual(new List <int>()
            {
                0, 4, 6
            });
            Batsman hitter = new Batsman(runGen);

            runGen.ChooseRunIdx(0);
            Assert.AreEqual(hitter.HitRun(), 0);
            runGen.ChooseRunIdx(1);
            Assert.AreEqual(hitter.HitRun(), 4);
            runGen.ChooseRunIdx(2);
            Assert.AreEqual(hitter.HitRun(), 6);
        }
Exemple #5
0
        public void TestDefensiveBatsmanBehavior()
        {
            MockRangeRunGenManual runGen = new MockRangeRunGenManual(new List <int>()
            {
                0, 1, 2, 3
            });
            Batsman defensiveBatsman = new Batsman(runGen);

            runGen.ChooseRunIdx(0);
            Assert.AreEqual(defensiveBatsman.HitRun(), 0);
            runGen.ChooseRunIdx(1);
            Assert.AreEqual(defensiveBatsman.HitRun(), 1);
            runGen.ChooseRunIdx(2);
            Assert.AreEqual(defensiveBatsman.HitRun(), 2);
            runGen.ChooseRunIdx(3);
            Assert.AreEqual(defensiveBatsman.HitRun(), 3);
        }
Exemple #6
0
        private void rbBatsman1_CheckedChanged(object sender, EventArgs e)
        {
            if (rbBatsman1.Checked)
            {
                currentBatsman = batsman1;

                txtBatsman1.BackColor      = ACTIVECOLOR;
                txtBatsman1_4s.BackColor   = ACTIVECOLOR;
                txtBatsman1_6s.BackColor   = ACTIVECOLOR;
                txtBatsman1Balls.BackColor = ACTIVECOLOR;
                txtBatsman1Runs.BackColor  = ACTIVECOLOR;
                txtBatsman1SR.BackColor    = ACTIVECOLOR;

                txtBatsman2.BackColor      = DEACTIVECOLOR;
                txtBatsman2_4s.BackColor   = DEACTIVECOLOR;
                txtBatsman2_6s.BackColor   = DEACTIVECOLOR;
                txtBatsman2Balls.BackColor = DEACTIVECOLOR;
                txtBatsman2Runs.BackColor  = DEACTIVECOLOR;
                txtBatsman2SR.BackColor    = DEACTIVECOLOR;
            }
            else
            {
                currentBatsman = batsman2;

                txtBatsman1.BackColor      = DEACTIVECOLOR;
                txtBatsman1_4s.BackColor   = DEACTIVECOLOR;
                txtBatsman1_6s.BackColor   = DEACTIVECOLOR;
                txtBatsman1Balls.BackColor = DEACTIVECOLOR;
                txtBatsman1Runs.BackColor  = DEACTIVECOLOR;
                txtBatsman1SR.BackColor    = DEACTIVECOLOR;

                txtBatsman2.BackColor      = ACTIVECOLOR;
                txtBatsman2_4s.BackColor   = ACTIVECOLOR;
                txtBatsman2_6s.BackColor   = ACTIVECOLOR;
                txtBatsman2Balls.BackColor = ACTIVECOLOR;
                txtBatsman2Runs.BackColor  = ACTIVECOLOR;
                txtBatsman2SR.BackColor    = ACTIVECOLOR;
            }
        }
        static void Main(string[] args)
        {
            // Test static events and delagates. Yes, we can create static events and bind them to multiple event handlers - weather static or non static

            // create two batsman
            var sachin = new Batsman {Name = "Sachin"};
            var rahul = new Batsman {Name = "Dravid"};

            EventRaiser.ReceiveData += sachin.SwingTheBat;
            EventRaiser.ReceiveData += rahul.SwingTheBat;

            Console.WriteLine("Do you want to raise the event (y/n) ?");

            var ans = Console.ReadLine();

            if (ans == "y")
            {
                // raise the event
                EventRaiser.RaiseTheEvent();
            }

            Console.ReadLine();
        }
Exemple #8
0
        /// <summary>
        /// Start Innings
        /// </summary>
        /// <param name="teamBatting">Team object containing the team batting</param>
        /// <param name="teamBowling">Team object containing the team bowling</param>
        /// <param name="scoreKeeper">Scorekeeper object</param>
        public void Start(Team teamBatting, Team teamBowling, Scorekeeper scoreKeeper)
        {
            // TODO Play and innnings
            bool endOfInnings   = false;
            var  currentBatsman = new Batsman();
            var  outcomeFactory = new ConcreteOutcomeFactory();

            do
            {
                Bowler currentBowler = teamBowling.GetNextBowler();
                int    ballsBowled   = 0;
                do
                {
                    var      ball        = currentBowler.bowl();
                    IOutcome ballOutcome = currentBatsman.Play(ball, outcomeFactory);
                    if (ballOutcome.IsValidBall())
                    {
                        ballsBowled++;
                    }

                    scoreKeeper.UpdateScoreboard(ballOutcome);
                } while (!endOfInnings & ballsBowled != EndOfOver);
            } while (!endOfInnings);
        }
Exemple #9
0
        private List <Player> Get_SA_Players()
        {
            List <Player> players = new List <Player>();

            #region Batsmen
            Batsman b1 = new Batsman();
            b1.FirstName = "Faf";
            b1.LastName  = "du Plessis";
            b1.Age       = 33;
            players.Add(b1);

            Batsman b2 = new Batsman();
            b2.FirstName = "Temba";
            b2.LastName  = "Bavuma";
            b2.Age       = 27;
            players.Add(b2);

            Batsman b3 = new Batsman();
            b3.FirstName = "Stephen";
            b3.LastName  = "Cook";
            b3.Age       = 34;
            players.Add(b3);


            Batsman b4 = new Batsman();
            b4.FirstName = "Theunis";
            b4.LastName  = "de Bruyn";
            b4.Age       = 24;
            players.Add(b4);

            Batsman b5 = new Batsman();
            b5.FirstName = "Dean";
            b5.LastName  = "Elgar";
            b5.Age       = 30;
            players.Add(b5);

            Batsman b6 = new Batsman();
            b6.FirstName = "Reeza";
            b6.LastName  = "Hendricks";
            b6.Age       = 27;
            players.Add(b6);
            #endregion

            #region All Rounders
            AllRounder ar1 = new AllRounder();
            ar1.FirstName = "Farhaan";
            ar1.LastName  = "Behardien";
            ar1.Age       = 33;
            players.Add(ar1);

            AllRounder ar2 = new AllRounder();
            ar2.FirstName = "JP";
            ar2.LastName  = "Duminy";
            ar2.Age       = 33;
            players.Add(ar2);

            AllRounder ar3 = new AllRounder();
            ar3.FirstName = "Chris";
            ar3.LastName  = "Morris";
            ar3.Age       = 30;
            players.Add(ar3);

            AllRounder ar4 = new AllRounder();
            ar4.FirstName = "Dwaine";
            ar4.LastName  = "Pretorius";
            ar4.Age       = 28;
            players.Add(ar4);

            AllRounder ar5 = new AllRounder();
            ar5.FirstName = "JJ";
            ar5.LastName  = "Smuts";
            ar5.Age       = 28;
            players.Add(ar5);
            #endregion

            return(players);
        }
Exemple #10
0
        private List <Player> Get_India_Players()
        {
            List <Player> players = new List <Player>();

            #region Batsmen
            Batsman b1 = new Batsman();
            b1.FirstName = "Shikhar";
            b1.LastName  = "Dhawan";
            b1.Age       = 31;
            players.Add(b1);

            Batsman b2 = new Batsman();
            b2.FirstName = "Gautam";
            b2.LastName  = "Gambhir";
            b2.Age       = 35;
            players.Add(b2);

            Batsman b3 = new Batsman();
            b3.FirstName = "Abhinav";
            b3.LastName  = "Mukund";
            b3.Age       = 27;
            players.Add(b3);

            Batsman b4 = new Batsman();
            b4.FirstName = "K. L.";
            b4.LastName  = "Rahul";
            b4.Age       = 25;
            players.Add(b4);

            Batsman b5 = new Batsman();
            b5.FirstName = "Murali";
            b5.LastName  = "Vijay";
            b5.Age       = 33;
            players.Add(b5);
            #endregion

            #region All Rounders
            AllRounder ar1 = new AllRounder();
            ar1.FirstName = "Ravichandran";
            ar1.LastName  = "Ashwin";
            ar1.Age       = 30;
            players.Add(ar1);

            AllRounder ar2 = new AllRounder();
            ar2.FirstName = "Stuart";
            ar2.LastName  = "Binny";
            ar2.Age       = 33;
            players.Add(ar2);

            AllRounder ar3 = new AllRounder();
            ar3.FirstName = "Ravindra";
            ar3.LastName  = "Jadeja";
            ar3.Age       = 28;
            players.Add(ar3);

            AllRounder ar4 = new AllRounder();
            ar4.FirstName = "Hardik";
            ar4.LastName  = "Pandya";
            ar4.Age       = 23;
            players.Add(ar4);

            AllRounder ar5 = new AllRounder();
            ar5.FirstName = "Axar";
            ar5.LastName  = "Patel";
            ar5.Age       = 23;
            players.Add(ar5);

            AllRounder ar6 = new AllRounder();
            ar6.FirstName = "Parvez";
            ar6.LastName  = "Rasool";
            ar6.Age       = 28;
            players.Add(ar6);
            #endregion

            return(players);
        }
 public void OnWicketBall(Batsman batsman)
 {
     IsWicketBall = true;
 }