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)); }
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