Exemplo n.º 1
0
        private void AcceptScoreCommandHandler()
        {
            IsAcceptOpen = false;

            var gameParameters = GetGameParameters();

            var isGameOver = CheckGameOverHelper();

            gameParameters.IsGameOver = isGameOver;

            _currentGameService.AcceptScore(gameParameters);

            if (isGameOver)
            {
                ProcessWonGame();
            }
            else
            {
                SetNextPlayer();

                var score = gameParameters.IsBust ? 0 : gameParameters.DartTotal;

                if (SelectedGame.Id != GameType.Cricket && ParticipatingPlayers[_currentPlayer].CurrentScore <= 180 &&
                    ParticipatingPlayers[_currentPlayer].CurrentScore > 1)
                {
                    CommentaryPlayer.Play(new Commentary
                    {
                        PlaySounds = _configurationData.PlaySounds,
                        SoundFiles = new[]
                        {
                            $"s{score}.wav",
                            $"yr{ParticipatingPlayers[_currentPlayer].CurrentScore}.wav"
                        },

                        SoundTexts = new[]
                        {
                            score == 0 ? "NO SCORE": score.ToString(),
                            $"{ParticipatingPlayers[_currentPlayer].NickName} YOU REQUIRE {ParticipatingPlayers[_currentPlayer].CurrentScore}"
                        }
                    });
                }
                else
                {
                    CommentaryPlayer.Play(new Commentary
                    {
                        PlaySounds = _configurationData.PlaySounds,
                        SoundFiles = new[] { $"s{score}.wav" },
                        SoundTexts = new[] { score == 0 ? "NO SCORE" : score.ToString() }
                    });
                }
            }

            AcceptOrRejectHelper();
        }
Exemplo n.º 2
0
        private void StartGameCommandHandler()
        {
            IsFlyoutClosed = false;

            _currentPlayer = 0;

            SaveNewConfigData();

            SetUpGame();

            SetUpPlayerConfigData();

            CommentaryPlayer.Play(new Commentary
            {
                PlaySounds = _configurationData.PlaySounds,
                SoundFiles = new[]
                {
                    $"tfplayer{_currentPlayer + 1}.wav"
                },
                SoundTexts = new[] { $"{GetCurrentPlayerName()} TO THROW FIRST" }
            });

            StartNewGame();
        }
Exemplo n.º 3
0
        private void ProcessWonGame()
        {
            var soundToPlay = "gs.wav";
            var soundToSay  = "GAME SHOT";

            var winners = _currentGameService.GetVictoriousPlayers(GetGameParameters());

            GetCurrentPlayer().IsGameShot = true;

            ResetCheckOutHints();

            // Determine if any other player is a joint winner
            var playersThatHaveWon =
                ParticipatingPlayers.Where(m => m.CurrentScore == winners.First().CurrentScore &&
                                           m.SetsWon == winners.First().SetsWon&&
                                           m.LegsWon == winners.First().LegsWon).ToList();

            foreach (var victoriousPlayer in playersThatHaveWon)
            {
                victoriousPlayer.IsWinner = true;

                // Update current score
                victoriousPlayer.LegsWon++;

                victoriousPlayer.CummulativeLegsWon++;
            }

            // Update legs played for all players
            foreach (var player in ParticipatingPlayers)
            {
                player.LegsPlayed++;
                player.CurrentDartCount = 0;
            }

            if (playersThatHaveWon.First().LegsWon == SelectedLeg)
            {
                soundToPlay = "gss.wav";
                soundToSay  = "GAME SHOT AND THE SET";

                foreach (var player in ParticipatingPlayers)
                {
                    player.LegsWon = 0;
                }

                // Update current score
                foreach (var victoriousPlayer in playersThatHaveWon)
                {
                    victoriousPlayer.SetsWon++;
                }

                if (playersThatHaveWon.First().SetsWon == SelectedSet)
                {
                    HandleMatchWon();
                    soundToPlay = "gsm.wav";
                    soundToSay  = "GAME SHOT AND THE MATCH";
                }
            }

            foreach (var player in ParticipatingPlayers)
            {
                player.LeaderMessage = string.Empty;
            }

            StartNextGame();

            var nextPlayerSound = playersThatHaveWon.First().SetsWon == SelectedSet ? null : $"tfplayer{_currentPlayer + 1}.wav";

            var nextPlayerText = playersThatHaveWon.First().SetsWon == SelectedSet
                ? null
                : $"{GetCurrentPlayerName()} TO THROW FIRST";

            CommentaryPlayer.Play(new Commentary
            {
                PlaySounds = _configurationData.PlaySounds,
                SoundFiles = new[] { soundToPlay, nextPlayerSound },
                SoundTexts = new[] { soundToSay, nextPlayerText }
            });
        }