Ejemplo n.º 1
0
        /// <summary>
        ///     Update de highscore lijst door middel van het highscore bestand
        /// </summary>
        public void Show()
        {
            //Verkrijg de highscore data.
            HighscoreContext highscoreContext = GameFiles.LoadHighscore();

            if (highscoreContext != null)
            {
                //Sorteer met wins
                List <HighscoreListItem> sortedList =
                    highscoreContext.HighscoreItems.OrderByDescending(x => x.wins).ToList();

                for (int i = 0; i < sortedList.Count; i++)
                {
                    HighscoreListItem item = sortedList[i];

                    //Maak een nieuwe list view item.
                    ListViewItem lvItem = new ListViewItem(new[] {
                        item.name, item.wins.ToString(), item.score.ToString()
                    });

                    //En voeg de listview item toe aan de highscore listview.
                    highscoreList.Items.Add(lvItem);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Update de highscore lijst
        /// </summary>
        /// <param name="playerList"> De spelerslijst object </param>
        /// <param name="winners"> Array met de winnaars </param>
        public void UpdateHighscoreList(PlayerList playerList, Player[] winners)
        {
            //Vraag de highscore lijst op van de schijf.
            HighscoreContext highscoreList = GameFiles.LoadHighscore();

            // Als er abosluut niks in de highscore lijst staat, maak nieuwe aan.
            if (highscoreList == null)
            {
                highscoreList = new HighscoreContext();
            }

            //Ga over alle spelers heen in de speler lijst.
            for (int i = 0; i < playerList.GetPlayerCount(); i++)
            {
                //Verkrijg speler object.
                Player player = playerList.GetPlayerById(i);

                //Kijk of die gene een winaar is.
                bool isWinner = false;

                for (int w = 0; w < winners.Length; w++)
                {
                    if (winners[w].id == player.id)
                    {
                        isWinner = true;
                        break;
                    }
                }

                //Voeg HighScoreListItem toe als die niet bestaat:
                if (!highscoreList.ContainsPlayer(player))
                {
                    highscoreList.HighscoreItems.Add(new HighscoreListItem(player.name, 0, 0));
                }


                //Update alle waarden in de highscore lijst.
                for (int n = 0; n < highscoreList.HighscoreItems.Count; n++)
                {
                    HighscoreListItem item = highscoreList.HighscoreItems[n];
                    item.Update(player, isWinner);

                    highscoreList.HighscoreItems[n] = item;
                }
            }

            //Schrijf opnieuw naar schijf.
            GameFiles.CreateHighScoreList(highscoreList);
        }