Exemplo n.º 1
0
 /// <summary>
 /// Controleer wie gewonnen heeft. Geef hier bericht van en schijf highscore weg indien bestand aanwezig is
 /// </summary>
 private void winnaar()
 {
     // stop muziek
     sound.Stop();
     geluidSpeelt = false;
     // speel gewonnen geluid af
     gewonnen.Play();
     if (huidigeScoreSpeler1 > huidigeScoreSpeler2)
     {
         MessageBox.Show(naamSpeler1 + " heeft gewonnen met " + huidigeScoreSpeler1 + " punten tegen " + naamSpeler2 + " met " + huidigeScoreSpeler2 + " punten");
     }
     else if (huidigeScoreSpeler2 > huidigeScoreSpeler1)
     {
         MessageBox.Show(naamSpeler2 + " heeft gewonnen met " + huidigeScoreSpeler2 + " punten tegen " + naamSpeler1 + " met " + huidigeScoreSpeler1 + " punten");
     }
     else
     {
         MessageBox.Show("Gelijk spel!");
     }
     // highscore opslaan
     if (locatieHighscoreBestand != null)
     {
         // indien bestand bestaat, schijf weg en laat highscore scherm zien
         highscoreWegschrijven();
         Highscores highscores = new Highscores(locatieHighscoreBestand);
         highscores.Show();
     }
     else
     {
         // Indien bestand niet bestaat, geef melding dat scores niet zijn opgeslagen
         MessageBox.Show("Highscore niet opgeslagen door ontbreken highscore bestand.");
     }
     // reset spel
     resetSpel();
 }
Exemplo n.º 2
0
        /// <summary>
        /// Schrijf highscores weg naar highscore bestand
        /// </summary>
        private void highscoreWegschrijven()
        {
            // maak instance van highscore en lees huidige score uit naar dic _highScores
            Highscores highscores = new Highscores(locatieHighscoreBestand);
            Dictionary <string, int> _highScores = highscores.highscoreUitlezen();

            // controleer of speler 1 al voorkomt in de lijst
            if (_highScores.ContainsKey(naamSpeler1))
            {
                // indien ja, controleer of nieuwe score hoger is dan reeds bekende score. Pas hoogste score toe.
                if (_highScores[naamSpeler1] < huidigeScoreSpeler1)
                {
                    _highScores[naamSpeler1] = huidigeScoreSpeler1;
                }
            }
            else
            {
                // indien naam nog niet bekend, voeg dan toe met score
                _highScores.Add(naamSpeler1, huidigeScoreSpeler1);
            }

            // controleer of speler 2 bestaat
            if (_highScores.ContainsKey(naamSpeler2))
            {
                // indien ja, controleer of nieuwe score hoger is dan reeds bekende score. Pas hoogste score toe.
                if (_highScores[naamSpeler2] < huidigeScoreSpeler2)
                {
                    _highScores[naamSpeler2] = huidigeScoreSpeler2;
                }
            }
            else
            {
                // indien naam nog niet bekend, voeg dan toe
                _highScores.Add(naamSpeler2, huidigeScoreSpeler2);
            }
            // tel aantal scores er in de lijst staan, maar tel nooit meer dan 10
            int _aantalScores = _highScores.Count() > 10 ? 10 : _highScores.Count();
            // maak een var aan met hierin de highscores uit _highScores Dic gesorteerd
            var _highScoresGesorteerd = from entry in _highScores orderby entry.Value descending select entry;

            // leeg het huidige highscore bestand
            File.WriteAllText(locatieHighscoreBestand, string.Empty);
            // schijf gesorteerde lijst weg naar highscore bestand
            foreach (KeyValuePair <string, Int32> entry in _highScoresGesorteerd)
            {
                File.AppendAllText(locatieHighscoreBestand, string.Format("{0}\n{1}\n", entry.Key, entry.Value));
                _aantalScores--;
                // als _aantalScore var leeg is (nooit meer dan 10) stop dan met uitvoeren zodat er max 10 highscores in de lijst staan
                if (_aantalScores == 0)
                {
                    break;
                }
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Highscore scherm oproepen
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Button_Highscores(object sender, RoutedEventArgs e)
 {
     // controleer of highscore bestand is ingevuld
     if (highscoreAanwezig)
     {
         // indien ja, maak instance van highscores en show deze.
         Highscores highscores = new Highscores(paden[2]);
         highscores.Show();
     }
     else
     {
         // indien nee, geef foutmelding
         MessageBox.Show("Highscores zijn niet aanwezig");
     }
 }