/* When the user selects the new bowler's name and clicks the select button, * this function checks if the bowler being replaced is in the top row of the current bowlers * tables, if so the function swaps the bottom bowler details to the top row and inserts * the new bowler into the bottom row. */ private void New_Bowler_Select_Click(object sender, EventArgs e) { if (Verify_Combo_Selection(New_Bowler_Combo_Box)) { Create_Undo_Point(); Player player = new Player(); // Get new bowler name and Id. string newBowlerName = New_Bowler_Combo_Box.SelectedItem.ToString(); int newBowlerId = player.Get_Bowler_Id(BowlList, newBowlerName); if (BowlList[InningsList[Innings_Id].topBowlId].Bowl_Bowling) { New_Bowler_Change_Top_Bowler(); } if (newBowlerId > -1) { InningsList[Innings_Id].bottomBowlId = newBowlerId; } else { player.Create_Bowler((BowlList.Last().Bowl_Number) + 1, newBowlerName, true); InningsList[Innings_Id].bottomBowlId = BowlList.Last().Bowl_Number; BowlList.Add(player); } Update_Bowler_Bottom(); Current_Bowler_Number_Bottom.BackColor = Color.White; New_Bowler_Combo_Box.Text = "Select New Bowler"; } HideAllPanels(); }
// Inintialises all variables at the start of an innings private void Set_Default_Variables() { HideAllPanels(); Innings innings = new Innings(); innings.Create_Innings(MatchDetailsList, Toss_Winner_Combo_Box.SelectedItem.ToString(), Innings_Of); InningsList.Add(innings); // Gets the team name for the second innings GraphSeriesList.Add(InningsList[Innings_Id].Team_Name); Over over = new Over(); over.Create_Over(0,0,0,0); OverAnalysisList.Add(over); // Sets Extra table details Wides_Total_Value.Text = innings.Extras_Wides.ToString(); No_Balls_Total_Value.Text = innings.Extras_No_Balls.ToString(); Byes_Total_Value.Text = innings.Extras_Byes.ToString(); Leg_Byes_Total_Value.Text = innings.Extras_Leg_Byes.ToString(); Penaltys_Total_Value.Text = innings.Extras_Penaltys.ToString(); Total_Extras_Value.Text = innings.Extras_Total.ToString(); // Sets match details Scoring_Date_Value.Text = innings.Date; Scoring_Innings_Of_Value.Text = InningsList[Innings_Id].Team_Name; Scoring_Total_Value.Text = innings.Innings_Total.ToString(); Scoring_Wickets_Down_Value.Text = innings.Innings_Wickets.ToString(); Scoring_Total_Overs_Value.Text = innings.Innings_Overs.ToString(); // Initialise opening player objects Player batTop = new Player(); Player batBottom = new Player(); Player bowlTop = new Player(); Player bowlBottom = new Player(); if (Innings_Id == 0) { batTop.Create_Batsman((InningsList[0].topBatId + 1), Open_Select_Bat_1.SelectedItem.ToString(), true); batBottom.Create_Batsman((InningsList[0].bottomBatId + 1), Open_Select_Bat_2.SelectedItem.ToString(), false); bowlTop.Create_Bowler((InningsList[0].topBowlId + 1), Open_Select_Bowl_1.SelectedItem.ToString(), true); bowlBottom.Create_Bowler((InningsList[0].bottomBowlId + 1), Open_Select_Bowl_2.SelectedItem.ToString(), false); } else { batTop.Create_Batsman((InningsList[1].topBatId + 1), Open_Select_Bat_1_Inn_2.SelectedItem.ToString(), true); batBottom.Create_Batsman((InningsList[1].bottomBatId + 1), Open_Select_Bat_2_Inn_2.SelectedItem.ToString(), false); bowlTop.Create_Bowler((InningsList[1].topBowlId + 1), Open_Select_Bowl_1_Inn_2.SelectedItem.ToString(), true); bowlBottom.Create_Bowler((InningsList[1].bottomBowlId + 1), Open_Select_Bowl_2_Inn_2.SelectedItem.ToString(), false); } BatList.Add(batTop); BatList.Add(batBottom); BowlList.Add(bowlTop); BowlList.Add(bowlBottom); Update_Next_Batsman_List(batTop.Bat_Name); Update_Next_Batsman_List(batBottom.Bat_Name); Create_Graphs(); Update_Last_Man_Out_Table(); }