/// <summary> /// Evènement délégué Click. /// Applique le processus de découverte du mot. /// Applique le processus de calcul du score. /// Applique les processus de désactivation des bouttons de jeu afin de pas pouvoir continuer à jouer ou générer d'exceptions. /// </summary> private void Button_Click(object sender, RoutedEventArgs e) { char[] tabMotCach = txtBmotCach.Text.ToCharArray(); List <int> stockPos = new List <int>(); string chaine = ((Button)sender).Content.ToString(); char lettre = chaine[0]; string temp = txtBlettres.Text; for (int i = 0; i < tabMotCach.Length; i++) { if (lettre == tabMotCach[i]) { stockPos.Add(i); } } foreach (int item in stockPos) { StringBuilder str = new StringBuilder(temp); str[item] = lettre; temp = str.ToString(); txtBlettres.Text = temp; } ((Button)sender).IsEnabled = false; txtBpenalty.Text = ((int.Parse(txtBessai.Text) - 1) * options.NbPoinPerdus).ToString(); if (txtBessai.Text == (options.NbEssais - 1).ToString()) { chrono.Stop(); lblWinOrLose.Content = "Perdu ! Il fallait trouver : " + txtBmotCach.Text; wPclavier.IsEnabled = false; btnTry.IsEnabled = false; } if (i < int.Parse(txtBnbEssais.Text)) { txtBessai.Text = (++i).ToString(); } if (txtBmotCach.Text == txtBlettres.Text) { lblWinOrLose.Content = "Bravo ! Vous avez trouvé le mot caché"; chrono.Stop(); int score = options.Temps - int.Parse(txtBcompteur.Text) - int.Parse(txtBpenalty.Text); lblScore.Content = score.ToString(); joueur.Score += score; lblScorePartie.Content = joueur.Score; joueur.SaveXML(@"Joueur.xml"); joueurs.Add(joueur); joueurs.SaveText("Liste_des_joueurs.txt"); joueurs.SaveXML(@"ListeJoueurs.xml"); btnTry.IsEnabled = false; txtBlettres.Text = txtBmotCach.Text; } }
/// <summary> /// A faire liaison des données avec le databinding sur la listview du xalm. /// Reprise de la méthode readtext de la classe liste joueur. /// Permet la lecture du fichier texte contenant la liste des joueurs. /// Créé des chaines en découpant la ligne lu à chaque ";". /// Récupère les pseudo et les scores dans un tableau de chaine. /// Affecte des valeurs au champs de la classe joueur. /// Tant que le reader trouve du texte le processus continue. /// Affiche les donnée dans des listesBox. /// </summary> private void AfficherSP() { FileStream fsr = new FileStream("Liste_des_joueurs.txt", FileMode.Open, FileAccess.Read, FileShare.Read); StreamReader sr = new StreamReader(fsr); string enr = sr.ReadLine(); ListJoueurs joueurs = new ListJoueurs(); if (enr != null) { while (enr != null) { string[] chaine = enr.Split(';'); Joueur joueur = new Joueur(); joueur.Pseudo = chaine[0]; joueur.Score = int.Parse(chaine[1]); joueurs.Add(joueur); DataContext = this; enr = sr.ReadLine(); ListPseudo.Items.Add(joueur.Pseudo.ToString()); ListPoints.Items.Add(joueur.Score.ToString()); if (enr != null) { chaine = enr.Split(';'); } } fsr.Close(); sr.Close(); } }