예제 #1
0
 private void JeuxPendu_Load(object sender, EventArgs e)
 {
     nouvellePartie = true;
     mot = new Mots(langue);
     activationBoutton(false);
     chrono.Stop();
     soundSample = new Dictionary<String, SoundPlayer>();
     soundSample.Add("ok", new SoundPlayer(Properties.Resources.ff7move));
     soundSample.Add("no", new SoundPlayer(Properties.Resources.erreur));
     soundSample.Add("perdu", new SoundPlayer(Properties.Resources.perdu));
     soundSample.Add("gagne", new SoundPlayer(Properties.Resources.gagne));
     soundSample["ok"].Load();
     soundSample["no"].Load();
     soundSample["perdu"].Load();
     soundSample["gagne"].Load();
     lblNom.Text = joueur.Nom;
     lblNiveau.Text = Utilitaire.GetDescription(difficulte);
     pbTemps.Maximum = tempsReflexion;
     lblCountDown.Text = pbTemps.Maximum.ToString();
     ChangerDifficulte(difficulte);
 }
예제 #2
0
        /// <summary>
        /// Boucle principale du serveur, à apeller dans Demarrer
        /// </summary>
        private void ExecBouclePrincipale()
        {
            string strLangue;
            if (laLangue == Langues.Aucune)
            {
                do
                {
                    //Choix de la langue des clients
                    Console.WriteLine("Quelle es la langue du serveur? (FR/EN)");
                    strLangue = Console.ReadLine();

                    if (strLangue.ToUpper() == "FR")
                        laLangue = Langues.Fraçais;
                    else if (strLangue.ToUpper() == "EN")
                        laLangue = Langues.Anglais;
                    else
                        Console.WriteLine("Mauvais choix de langue");
                }
                while (strLangue.ToUpper() != "FR" && strLangue.ToUpper() != "EN");
            }

            //Comme il ne peut qu'y avoir 2 joueurs pour un serveur,
            //coder le tout de manière linéaire

            Console.WriteLine("Attente de connexion...");
            TcpClient clientNo1 = lEcouteur.AcceptTcpClient();

            Console.WriteLine("Attente d'un deuxième joueur...");
            TcpClient clientNo2 = lEcouteur.AcceptTcpClient();

            //Deux joueurs maintenant connectés, démarrer la partie
            Console.WriteLine("Deux joueurs, démarrage de la partie");
            Console.WriteLine("Génération et envoi du mot...");

            //Création du mot
            lesMots = new Mots(laLangue);
            lesMots.InitialiserMotsATrouver();

            EnvoyerReponse(clientNo1, lesMots.Mot);
            EnvoyerReponse(clientNo2, lesMots.Mot);

            Console.WriteLine("Le mot à trouver : " + lesMots.Mot);
            Console.WriteLine("Attente d'un gagnant ou de deux perdants...");

            //Attente de la réponse d'un des deux clients
            while (!clientNo1.GetStream().DataAvailable && !clientNo2.GetStream().DataAvailable)
                Thread.Sleep(50);

            //Le client envoi soit "GAGNÉ" ou "PERDU" lorsqu'il fini la partie
            bool aGagneC1 = false;
            bool aGagneC2 = false;
            bool aPerduC1 = false;
            bool aPerduC2 = false;
            bool lesDeuxClientsOntPerdus = false;

            //Réception d'une réponse, envoi d'un message de fin lorsqu'un des deux clients a gagné, ou que les deux ont perdus,
            //sinon attendre la réponse d'un client
            while (!aGagneC1 && !aGagneC2 && !lesDeuxClientsOntPerdus)
            {
                if (clientNo1.GetStream().DataAvailable)
                {
                    string reponse = LireReponse(clientNo1);
                    if (reponse == "GAGNÉ")
                    {
                        aGagneC1 = true;
                        EnvoyerReponse(clientNo1, "GAGNÉ");
                        EnvoyerReponse(clientNo2, "PERDU");
                        Console.WriteLine("Le client no. 2 a perdu");
                    }
                    else if (reponse == "PERDU")
                    {
                        aPerduC1 = true;
                    }
                }
                else if (clientNo2.GetStream().DataAvailable)
                {
                    string reponse = LireReponse(clientNo2);
                    if (reponse == "GAGNÉ")
                    {
                        aGagneC2 = true;
                        EnvoyerReponse(clientNo1, "PERDU");
                        EnvoyerReponse(clientNo2, "GAGNÉ");
                        Console.WriteLine("Le client no. 1 a perdu");
                    }
                    else if (reponse == "PERDU")
                    {
                        aPerduC2 = true;
                    }
                }

                if (aPerduC1 && aPerduC2)
                {
                    lesDeuxClientsOntPerdus = true;
                    EnvoyerReponse(clientNo1, "PERDU");
                    EnvoyerReponse(clientNo2, "PERDU");
                }

                Thread.Sleep(50);
            }

            //Ajout du mot essayé
            lesMots.AjouterMot();
            //Redémarrer le jeu
            RedemarrerPartie();
        }
예제 #3
0
 public void initialize()
 {
     listeMots = new String[5] { "test", "batman", "robin", "joker", "catWoman" };
     unMot = new Mots("test", listeMots);
     deuxiemeMot = new Mots("nightWing", listeMots);
 }
예제 #4
0
 public void ConstructeurExceptionMot()
 {
     Mots testMot = new Mots(null, listeMots);
 }
예제 #5
0
 public void ConstructeurExceptionListeMots()
 {
     Mots testMot = new Mots("test", null);
 }
예제 #6
0
 public void init()
 {
     unMot = new Mots(Langues.Fraçais);
     frmPrinciplale = new JeuxPendu(NiveauDiff.Moyen, new Joueur(1, "Batman"));
     unJoueur = Utilitaire.getUtils(1);
 }