예제 #1
0
        private int setsToGo;                                                    //  Сетов в матче

        public void StartGame()                                                  //  Начало нового матча
        {
            IsOn = true;                                                         //  Флаг матча
            //  Панели
            mainWindow.PlayerTab.IsEnabled = false;
            settingsPanelLogic.PanelHide();                                                                                                                                                                                                                                               //  Прячем панель настроек
            infoPanelLogic.PanelShow();                                                                                                                                                                                                                                                   //  Показываем инфо-панель
            BoardPanelLogic.PanelShow();                                                                                                                                                                                                                                                  //  Показываем панель секторов
            PlayerOverview.ClearPanel();                                                                                                                                                                                                                                                  //  Очищаем панель данных игроков
            //  Настройка матча
            pointsToGo = settingsPanelLogic.PointsToGo();                                                                                                                                                                                                                                 //  Получаем количество очков лега
            setsToGo   = settingsPanelLogic.SetsToGo();                                                                                                                                                                                                                                   //  Получаем количество легов сета
            legsToGo   = settingsPanelLogic.LegsToGo();                                                                                                                                                                                                                                   //  Получаем количество сетов матча
            //  Игроки
            player1       = new Player("Player1", (int)mainWindow.Player1NameCombobox.SelectedValue, settingsPanelLogic.Player1Name(), mainWindow.Player1Help, mainWindow.Player1PointsHelp, mainWindow.Player1SetsWon, mainWindow.Player1LegsWon, mainWindow.Player1Points, pointsToGo); //  Игрок 1
            player2       = new Player("Player2", (int)mainWindow.Player2NameCombobox.SelectedValue, settingsPanelLogic.Player2Name(), mainWindow.Player2Help, mainWindow.Player2PointsHelp, mainWindow.Player2SetsWon, mainWindow.Player2LegsWon, mainWindow.Player2Points, pointsToGo); //  Игрок 2
            playerOnThrow = settingsPanelLogic.WhoThrowFirst(player1, player2);                                                                                                                                                                                                           //  Кто первый бросает
            playerOnLeg   = playerOnThrow;                                                                                                                                                                                                                                                //  Чей первый лег
            //  Инфо-панель
            infoPanelLogic.PanelNewGame(pointsToGo, legsToGo.ToString(), setsToGo.ToString(), player1, player2, playerOnThrow);                                                                                                                                                           //  Новая инфопанель
            infoPanelLogic.HelpCheck(player1);                                                                                                                                                                                                                                            //  Проверка помощи
            infoPanelLogic.HelpCheck(player2);                                                                                                                                                                                                                                            //  Проверка помощи
            //  Текстовая панель
            infoPanelLogic.TextLogAdd(new StringBuilder()
                                      .Append("First to ")
                                      .Append(setsToGo)
                                      .Append(" sets in ")
                                      .Append(legsToGo)
                                      .Append(" legs with ")
                                      .Append(pointsToGo)
                                      .Append(" points").ToString());
            infoPanelLogic.TextLogAdd("Game on");
            infoPanelLogic.TextLogAdd(new StringBuilder().Append(playerOnThrow.Name).Append(" on throw:").ToString());
        }
예제 #2
0
 private void Throw(object sender, RoutedEventArgs e) //  Бросок
 {
     BoardPanelLogic.PanelHide();                     //  Скрываем панель секторов
     game.NextThrow(new Throw(sender));
     if (game.IsOn)                                   //  Если игра продолжается
     {
         BoardPanelLogic.PanelShow();                 //  Показываем панель секторов и бросаем дальше
     }
 }
예제 #3
0
 private void EndGame()                                                             //  Конец матча
 {
     IsOn = false;                                                                  //  Флаг матча
     //  Сообщение
     WinnerWindowLogic.ShowWinner(playerOnThrow, player1, player2, allMatchThrows); //  Показываем окно победителя и статистику
     //  Панели
     mainWindow.PlayerTab.IsEnabled = true;
     infoPanelLogic.PanelHide();     //  Прячем инфопанель
     BoardPanelLogic.PanelHide();    //  Прячем панель секторов
     settingsPanelLogic.PanelShow(); //  Показываем панель настроек
     //  Сохранение в БД
     DBwork.AfterMatchSave(statisticsWindowLogic);
     DBwork.UpdateAchieves(statisticsWindowLogic);
     //  Обнуление коллекций
     ClearCollections(); //  Зануляем коллекции бросков
 }
예제 #4
0
        public void AbortGame() //  Отмена текущего матча
        {
            IsOn = false;       //  Флаг матча
            ClearCollections(); //  Зануляем коллекции бросков
            //  Панели
            mainWindow.PlayerTab.IsEnabled = true;
            infoPanelLogic.PanelHide();     //  Прячем инфопанель
            BoardPanelLogic.PanelHide();    //  Прячем панель секторов
            settingsPanelLogic.PanelShow(); //  Показываем панель настроек
            infoPanelLogic.TextLogClear();  //  Очищаем текстовую панель
            //  Окно
            var window = new Windows.AbortWindow {
                Owner = mainWindow
            };

            window.ShowDialog(); //  Показываем окно отмены матча
        }