public static List<Resultat> Add(Resultat resultat) { if (resultats.Count == 0) { resultats.Add(resultat); } else { int i = 0; while (i < resultats.Count && resultats[i].Amount > resultat.Amount) { i++; } resultats.Insert(i, resultat); } return resultats; }
//fonction appliquée avant de rentrer dans le GameOver State public static void Die() { List<Resultat> resultats = new List<Resultat>(); //création d'une nouvelle liste de résultats Resultat NewResultat = new Resultat(Statistiques.Name, Statistiques.Score, Perso.Choisi); //stockage du résultat actuel if (File.Exists("score.txt")) { //Lecture du fichier texte StreamReader reader; reader = new StreamReader("score.txt"); //Transfert du fichier dans une liste for (int i = 0; i < 5; i++) { string str = reader.ReadLine(); if (str != null) { string[] tableau = str.Split(','); //séparation des virgules resultats.Add(new Resultat(tableau[0], Convert.ToInt32(tableau[1]), tableau[2])); //création d'un nouveau resultat et ajout dans la liste } else { resultats.Add(null); } } reader.Close(); } int n = 0; while (n < resultats.Count && resultats[n] != null && resultats[n].Amount > NewResultat.Amount) { n++; //avance jusqu'à trouver la place } resultats.Insert(n, NewResultat); //insere le nouveau resultat à la bonne place if (resultats.Count >= 6) resultats.RemoveAt(5); //efface le dernier résultat StreamWriter writer; writer = new StreamWriter("score.txt"); string newStr = ""; //Ecriture des resultats dans un fichier for (int i = 0; i < 5; i++) { if (i < resultats.Count && resultats[i] != null) newStr += resultats[i].Name + "," + Convert.ToInt32(resultats[i].Amount) + "," + resultats[i].Perso + Environment.NewLine; } writer.Write(newStr); writer.Close(); //tableau pour afficher les valeurs sur la page top = new string[5]; for (int i = 0; i < 5; i++) { if (i < resultats.Count && resultats[i] != null) top[i] = resultats[i].Name + " : " + resultats[i].Amount; //si il y a valeur, on affiche Nom : Valeur else top[i] = "NONE"; } GameState.State = "GameOver"; }