示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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();
            }
        }