示例#1
0
        /// <summary>
        /// Récupére les meilleurs joueurs d'une liste et les renvois
        /// </summary>
        /// <param name="ljs">La liste à analyser</param>
        /// <returns>Les meilleurs joueurs</returns>
        public List <JoueurSerialisable> bestJoueur(List <JoueurSerialisable> ljs)
        {
            //On calcul le minimum entre 10 et la taille de la liste
            int tailleAffiche = 10;

            if (ljs.Count < 10)
            {
                tailleAffiche = ljs.Count;
            }

            //On tri et on ajoute les 10 premiers à une nouvelle liste
            List <JoueurSerialisable> newljs = new List <JoueurSerialisable>();

            for (int i = 0; i < tailleAffiche; i++)
            {
                int best = -1;
                JoueurSerialisable js = null;
                for (int j = 0; j < ljs.Count; j++)
                {
                    if (ljs[j].score > best)
                    {
                        js   = ljs[j];
                        best = ljs[j].score;
                    }
                }
                newljs.Add(js); //On vient donc de récuperer le meilleur joueur de la liste
                ljs.Remove(js);
            }
            return(newljs);
        }
示例#2
0
        /// <summary>
        /// Regarde parmis la liste des joueurs si il existe un joueur pouvant faire partie des meilleurs scores et l'écrit si oui.
        /// </summary>
        public void ecritScore()
        {
            //On ajoute tous les joueurs à une liste
            List <JoueurSerialisable> ljs = new List <JoueurSerialisable>();

            for (int i = 0; i < listJoueurs.Count; i++)
            {
                JoueurSerialisable js = new JoueurSerialisable
                {
                    nom   = listJoueurs[i].getName(),
                    score = listJoueurs[i].getScore()
                };
                ljs.Add(js);
            }
            //On récupére les anciens joueurs et on les ajoute à cette même liste
            JoueurSerialisable[] tabjs = readBestScores();
            for (int i = 0; i < tabjs.Length; i++)
            {
                ljs.Add(tabjs[i]);
            }

            ljs = bestJoueur(ljs);

            //Puis on les écrit dans le fichier correspondant aux meilleurs scores
            XmlSerializer xs = new XmlSerializer(typeof(List <JoueurSerialisable>));

            using (StreamWriter wr = new StreamWriter("bestScore" + style + ".xml"))
            {
                xs.Serialize(wr, ljs);
            }
        }