Ejemplo n.º 1
0
        public void TestRechPlateau_Faux()
        {
            string[,] plateau = new string[4, 4] {
                { "M", "E", "R", "T" }, { "D", "A", "S", "T" }, { "O", "P", "I", "H" }, { "C", "L", "A", "G" }
            };
            char[] mot = new char[3] {
                'L', 'O', 'I'
            };
            Dé[]    déDuPlateau = Program.OuvertureFichierDés();
            Plateau plat        = new Plateau(déDuPlateau, plateau);

            Assert.AreEqual(false, plat.TestPlateauRec(mot, 0, 0, 0));
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            #region Initialisation du jeu

            string[][]   dictionnaire  = OuvertureFichier("MotsPossibles.txt");
            Dictionnaire motsPossibles = new Dictionnaire(dictionnaire);

            Dé[]   déDuPlateau = OuvertureFichierDés();
            Random r           = new Random();

            Console.WriteLine("Quel est le nom du premier joueur ? ");
            string prénomJoueur1 = Console.ReadLine();
            Console.WriteLine("Quel est le nom du deuxième joueur ? ");
            string prénomJoueur2 = Console.ReadLine();
            Joueur joueur1       = new Joueur(prénomJoueur1);
            Joueur joueur2       = new Joueur(prénomJoueur2);

            Console.WriteLine("Combien de temps souhaitez vous que la partie dure en minutes  ? ");
            int      dureePartie = Convert.ToInt32(Console.ReadLine());
            DateTime debut       = DateTime.Now; //Heure du début de la partie, à partir delaquelle on calcul le temps de la partie
            Console.WriteLine(debut);
            TimeSpan duree = new TimeSpan(0, dureePartie, 0);
            Console.WriteLine(duree);


            int compteurNbTours = 0; //Compteur qui compte le nombre de tours : quand il est pair ou nul c'est le joueur 1 qui joue et quand il est impair c'est le joueur 2
                                     //il permet de faire jouer les joueurs chacun leur tour
            #endregion

            #region Jeu pendant le temps imparti
            do
            {
                TimeSpan intervalleTour = new TimeSpan(0, 1, 0);
                if (compteurNbTours % 2 == 0 || compteurNbTours == 0)
                {
                    Console.WriteLine("C'est au tour de " + joueur1.Nom + " de jouer");
                    Console.WriteLine(joueur1.toString());
                    DateTime debutJ1 = DateTime.Now; //Heure à partir de laquelle le joueur 1 commence son tour

                    Plateau plateauPartie = new Plateau(déDuPlateau, r);
                    Console.Write(plateauPartie.AfficherPlateau());

                    while (DateTime.Now.Subtract(debutJ1) < intervalleTour)
                    {
                        Console.WriteLine("Saisir un mot trouvé : ");
                        string motTrouvé = Console.ReadLine().ToUpper();
                        if (motTrouvé.Length > 2)
                        {
                            if (motsPossibles.RechDichoRecursif(0, motsPossibles.FichierMot[motTrouvé.Length - 2].Length, motTrouvé))
                            {
                                if (joueur1.Contain(motTrouvé))
                                {
                                    char[] motChar = motTrouvé.ToCharArray();
                                    if (plateauPartie.TestPlateauRec(motChar, 0, 0, 0))
                                    {
                                        joueur1.Score += PointsGagnés(motTrouvé);
                                        joueur1.Add_Mot(motTrouvé);
                                        Console.WriteLine("Le score de " + joueur1.Nom + " est maintenant de " + joueur1.Score);
                                    }
                                    else
                                    {
                                        Console.WriteLine("Le mot n'appartient pas au plateau");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("Vous avez déjà trouvé ce mot ");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Le mot n'appartient pas au dictionnaire");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Le mot est trop court");
                        }
                        Console.WriteLine("Temps écoulé " + DateTime.Now.Subtract(debutJ1));
                    }
                    compteurNbTours++;
                }

                else
                {
                    Console.WriteLine("C'est au tour de " + joueur2.Nom + " de jouer");
                    Console.WriteLine(joueur2.toString());
                    DateTime debutJ2 = DateTime.Now;

                    Plateau plateauPartie = new Plateau(déDuPlateau, r);
                    Console.Write(plateauPartie.AfficherPlateau());

                    while (DateTime.Now.Subtract(debutJ2) < intervalleTour)
                    {
                        Console.WriteLine("Saisir un mot trouvé : ");
                        string motTrouvé = Console.ReadLine().ToUpper();
                        if (motTrouvé.Length > 2)
                        {
                            if (motsPossibles.RechDichoRecursif(0, motsPossibles.FichierMot[motTrouvé.Length - 2].Length, motTrouvé))
                            {
                                if (joueur1.Contain(motTrouvé))
                                {
                                    char[] motChar = motTrouvé.ToCharArray();
                                    if (plateauPartie.TestPlateauRec(motChar, 0, 0, 0))
                                    {
                                        joueur2.Score += PointsGagnés(motTrouvé);
                                        joueur2.Add_Mot(motTrouvé);
                                        Console.WriteLine("Le score de " + joueur2.Nom + " est maintenant de " + joueur2.Score);
                                    }
                                    else
                                    {
                                        Console.WriteLine("Le mot n'appartient pas au plateau");
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("Vous avez déjà trouvé ce mot ");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Le mot n'appartient pas au dictionnaire");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Le mot est trop court");
                        }
                        Console.WriteLine("Temps écoulé " + DateTime.Now.Subtract(debutJ2));
                    }
                    compteurNbTours++;
                }
            } while (DateTime.Now.Subtract(debut) < duree);
            #endregion

            #region Fin du Jeu
            Console.WriteLine("C'est la fin de la partie");
            if (joueur1.Score > joueur2.Score)
            {
                Console.WriteLine(joueur1.Nom + " a gagné ");
            }
            if (joueur2.Score > joueur1.Score)
            {
                Console.WriteLine(joueur2.Nom + " a gagné ");
            }
            if (joueur1.Score == joueur2.Score)
            {
                Console.WriteLine("Les deux joueurs sont ex aequo");
            }
            #endregion


            Console.ReadKey();
        } //fin main