// начало симуляции с полной валидацие данных private void btStartMatch_Click(object sender, EventArgs e) { try { if (lvLeague.CheckedItems.Count != 2) { throw new Exception("Выберите две команды для матча!"); } if (tbFansCountTeam1.Text.Length == 0) { throw new Exception("Введите кол-во фанатов первой команды!"); } if (tbFansCountTeam2.Text.Length == 0) { throw new Exception("Введите кол-во фанатов второй команды!"); } // Валидация убрана до момента ввода функционала судейства матчей if (cbRefereeList.SelectedIndex == -1) { throw new Exception("Выберите судью матча!"); } Team t1 = ((ListViewTeam)lvLeague.CheckedItems[0]).Team, t2 = ((ListViewTeam)lvLeague.CheckedItems[1]).Team; if (t1.PlayerCount != 11) { throw new Exception("Некорректное количество игроко в первой команде!"); } if (t2.PlayerCount != 11) { throw new Exception("Некорректное количество игроков во второй команде!"); } MatchForm.StartMatch(new Match((Referee)cbRefereeList.SelectedItem, t1, t2, uint.Parse(tbFansCountTeam1.Text), uint.Parse(tbFansCountTeam2.Text))); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static void StartMatch(Match match) // начало матча { MatchForm MF = new MatchForm(); // создание формы матча MF.currentMatch = match; // назначение текщего матча // инициализация компонентов формы данными MF.lbNameTeam1.Text = match.Team1.Name; MF.lbNameTeam2.Text = match.Team2.Name; MF.pbLogoTeam1.Image = match.Team1.Logo; MF.pbLogoTeam2.Image = match.Team2.Logo; MF.lbFansCountTeam1.Text = match.FansCountTeam1.ToString(); MF.lbFansCountTeam2.Text = match.FansCountTeam2.ToString(); MF.lbReferee.Text = "Главный судья: " + match.MatchReferee.Name + " " + match.MatchReferee.Surname; MF.lbScore.Text = match.MatchScore.ToString(); MF.lbChances.Text = "Прогноз: " + String.Format("{0:0}:{1:0}", match.WinRate_Team1, match.WinRate_Team2); MF.ShowDialog(); }