Пример #1
0
        /// <summary>
        /// Verification des informations de connexion
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_SeConnecter_Click(object sender, EventArgs e)
        {
            //Hash du mot de passer insérer par l'utilisateur pour comparer avec la base de données
            var    hash    = (new SHA1Managed()).ComputeHash(Encoding.UTF8.GetBytes(tb_mdp.Text));
            string mdpSha1 = string.Join("", hash.Select(b => b.ToString("x2")).ToArray());

            //Initialisation de la classe dbConnexion
            dbConnexion nc_dbConnexion = new dbConnexion();

            List <getCompteAdmin> lst_getCompteAdmin = new List <getCompteAdmin>();

            lst_getCompteAdmin = nc_dbConnexion.getCompteAdmin();

            //Verifier si les informations sont correctes
            if (lst_getCompteAdmin[0].conIdentifiant == tb_identifiant.Text && lst_getCompteAdmin[0].conMotDePasse == mdpSha1)
            {
                FormNew formNewWord = new FormNew();
                formNewWord.Show();

                this.Close();
            }
            else
            {
                MessageBox.Show("Erreur de l'identifiant ou du mot de passe.", "Incorrect", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #2
0
        /// <summary>
        /// Après avoir choisi le thème
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChoixTheme(object sender, EventArgs e)
        {
            //Remettre les points à zéro
            int_point = 0;

            //Initialisation de la classe dbconnexion
            dbConnexion fm_connexion = new dbConnexion();

            //Recuperer le thème séléctionné par l'utilisateur
            string str_theme = ((Button)sender).Text;

            //Appel de la fonction getTheme pour recuperer le "ID" du thème choisi
            string idtheme = fm_connexion.getTheme(str_theme);

            //Appel de la fonction getMotOfTheme pour recuperer tous les mots du thème choisi
            lst_motOfTheme = fm_connexion.getMotOfTheme(idtheme);

            //Connaître la taille de la liste de mots
            int int_lenghtList = lst_motOfTheme.Count();

            //Appel du premier mot
            if (lst_motOfTheme.Count == 0)
            {
                MessageBox.Show("Le thème que vous avez choisi ne contient aucun mot. Veuillez-choisir un autre thème.", "Aucun mot", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                //Appel de la fonction pour créer l'interface de jeu
                CreateGame();

                showImages(Convert.ToString(lst_motOfTheme[int_motSuivant].idmot), lst_motOfTheme[int_motSuivant].mot);
            }
        }
Пример #3
0
        /// <summary>
        /// Fonction qui gère les images avec le mot en cours
        /// Partie affichage graphique
        /// </summary>
        /// <param name="mot">Mot en cours</param>
        private void showImages(string idmot, string mot)
        {
            //enlever l'ancienne réponse
            tb_reponse.Text = "Réponse ?";

            //Initialisation de variables pour le mélange des lettres
            Random      rnd = new Random();
            char        temp;
            List <char> chars = mot.ToList();
            Random      rdm   = new Random();

            for (int i = 0; i < 3; i++)
            {
                char tmp_char = (char)rdm.Next('a', 'z');

                chars.Add(tmp_char);
            }

            //Boucle pour mélanger les lettres du mot aléatoirement
            for (int i = 0; i < chars.Count; i++)
            {
                int j = rnd.Next(0, chars.Count - 1);
                temp     = chars[i];
                chars[i] = chars[j];
                chars[j] = temp;
            }
            //Récuperer le tableau de lettres dans une chaine de caractère
            string str_MotMelange = new string(chars.ToArray());

            //Affichage des lettres mélangées dans la richTextBox
            rtb_MotAleatoire.Text = str_MotMelange;
            rtb_MotAleatoire.SelectAll();
            rtb_MotAleatoire.SelectionFont      = new Font("TimesNewRoman", 18, FontStyle.Bold);
            rtb_MotAleatoire.SelectionAlignment = HorizontalAlignment.Center;

            //Initialisation de la classe dbconnexion
            dbConnexion si_connexion = new dbConnexion();

            //Récuperer la liste des images du mot
            List <getImageMot> lst_imageOfMot = si_connexion.getImageOfMot(Convert.ToString(idmot));

            //Récuperer le lien des images
            pb_ima1.ImageLocation = lst_imageOfMot[0].lienImage;
            pb_ima2.ImageLocation = lst_imageOfMot[1].lienImage;
            pb_ima3.ImageLocation = lst_imageOfMot[2].lienImage;
            pb_ima4.ImageLocation = lst_imageOfMot[3].lienImage;

            //Passer au mot suivant
            int_motSuivant++;
        }
Пример #4
0
        /// <summary>
        /// Lorsque l'utilisateur clique sur le bouton ajouter
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_ajouter_Click(object sender, EventArgs e)
        {
            //Verification du mot
            if (tb_mot.Text == "" || rgx.IsMatch(tb_mot.Text) || rgx2.IsMatch(tb_mot.Text))
            {
                MessageBox.Show("Veuillez inserer un mot de plus de un caractère contenant uniquement des lettres.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                //Si le mot contient bien 4 images
                if (lv_lienImage.Items.Count == 4)
                {
                    //Initialisation de la classe dbConnexion
                    dbConnexion fn_connexion = new dbConnexion();

                    int idtheme = cb_theme.SelectedIndex + 1;

                    //Verifier si le mot existe déjà
                    string existMot = fn_connexion.getMot(tb_mot.Text);

                    //Si le mot n'est pas dans la base de données
                    if (existMot == "")
                    {
                        //Appel de la fonction pour inserer le nouveau mot
                        string idmot = fn_connexion.insertMot(tb_mot.Text, Convert.ToString(idtheme));

                        //Copier les images dans un répertoire spécifique
                        for (int i = 0; i < lv_lienImage.Items.Count; i++)
                        {
                            //Récuperer le nouveau mot
                            string str_mot = tb_mot.Text;

                            //Répertoire ou l'image sera copier
                            string str_destination = @".\images\" + str_mot + "" + int_noImage + ".png";
                            int_noImage++;

                            //Copie de l'image dans le répertoire
                            if (!File.Exists(str_destination))
                            {
                                File.Copy(Convert.ToString(lv_lienImage.Items[i].Text), str_destination);
                                fn_connexion.insertImage(str_destination, idmot);
                            }
                        }
                        MessageBox.Show("Votre mot a bien été inséré dans la base de données.", "Terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        tb_mot.Text            = "";
                        cb_theme.SelectedIndex = 0;
                        lv_lienImage.Items.Clear();
                    }
                    //Si le mot est dans la base de données
                    else
                    {
                        MessageBox.Show("Le mot que vous souhaitez insérer existe déjà dans la base de données.", "Mot existant", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Veuillez inserer 4 images.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }