示例#1
0
        private void GameOver()
        {
            // stop de speeltijd timer
            gameInterface.timerClock.Enabled = false;

            CalculeerUitkomst();

            context.highScore.AddScores(playerGroup.players);

            string sUitkomst = "";

            if (gameStatus.gelijkSpel)
            {
                sUitkomst = "Gelijk spel, niemand heeft gewonnen.";
            }
            else
            {
                MemoryPlayer playerGewonnen = playerGroup.players[gameStatus.playerGewonnen];
                string       playerNaam     = playerGewonnen.naam;
                int          playerScpre    = playerGewonnen.score;
                sUitkomst = string.Format("{0} heeft gewonnen. score {1}", playerNaam, playerScpre);
            }

            MessageBox.Show(
                sUitkomst,
                "Game Over",
                MessageBoxButton.OK,
                MessageBoxImage.Information);

            context.hoofdMenu.ExitGame();
        }
        private void popupVerwijderen(object sender, ElapsedEventArgs e)
        {
            int          playerIndex = pPlayerGroup.aanZet;
            MemoryPlayer player      = pPlayerGroup.players[playerIndex];
            PlayerBord   playerBord  = playerBords[playerIndex];

            playerBord.popupScore = "";
        }
        public void UpdateScore(string popupScore)
        {
            int          playerIndex = pPlayerGroup.aanZet;
            MemoryPlayer player      = pPlayerGroup.players[playerIndex];
            PlayerBord   playerBord  = playerBords[playerIndex];

            playerBord.popupScore = popupScore;
            playerBord.score      = player.score;

            // start timer die KaartenTerugLeggen aanroept
            popupTimer.Enabled = true;
        }
        private void gameTimerUpdate(object sender, ElapsedEventArgs e)
        {
            int          playerIndex = pPlayerGroup.aanZet;
            MemoryPlayer player      = pPlayerGroup.players[playerIndex];
            PlayerBord   playerBord  = playerBords[playerIndex];

            // update individuele speelijd in het player bord van de speeler
            TimeSpan playerSpeeltijd = new TimeSpan(0, 0, player.speeltijd++);

            playerBord.speeltijd = string.Format("{0}:{1:00}", (int)playerSpeeltijd.TotalMinutes, playerSpeeltijd.Seconds);

            // update de game timer in het midden van het game interface
            switch (pGameStatus.timerMode)
            {
            // om en om spel
            case TimerMode.roundAbout:
                // update het de game timer display
                TimeSpan gameSpeeltijd = new TimeSpan(0, 0, pGameStatus.speeltijd);
                Application.Current.Dispatcher.Invoke(
                    () => gameTimer.Text = string.Format("{0}:{1:00}", (int)gameSpeeltijd.TotalMinutes, gameSpeeltijd.Seconds));
                break;

            // spelen om en om voor een bepaalde tijd (GameData.speeltijdTimerTurn in MemoryData)
            case TimerMode.timerTurn:
                // als de timer nul is, is de volgende speler aan zet
                if (!Convert.ToBoolean(pGameStatus.timeRemaining--))
                {
                    // selecteer de volgende speler
                    pPlayerGroup.NextPlayer();

                    // update het pijltje die de speler aan zet aangeeft
                    UpdateAanZet();

                    // reset de timer
                    pGameStatus.timeRemaining = GameData.speeltijdTimerTurn;
                }

                // update het de game timer display
                TimeSpan playerTijdOver = new TimeSpan(0, 0, pGameStatus.timeRemaining);
                Application.Current.Dispatcher.Invoke(
                    () => gameTimer.Text = string.Format("{0}:{1:00}", (int)playerTijdOver.TotalMinutes, playerTijdOver.Seconds));
                break;
            }

            // update de game speeltijd
            pGameStatus.speeltijd++;

            //    Application.Current.Dispatcher.Invoke(() =>
            //    {
            //        TimeSpan gameSpeeltijd = new TimeSpan(0, 0, pGameStatus.speeltijd++);
            //        gameTimer.Text = string.Format("{0}:{1:00}", (int)gameSpeeltijd.TotalMinutes, gameSpeeltijd.Seconds);
            //    });
        }