public void Test_RechDicho_Vrai() { string[][] tab = new string[2][]; tab[0] = new string[6] { "AA", "AH", "AI", "AN", "AS", "AU" }; tab[1] = new string[6] { "AAS", "ACE", "ADA", "ADO", "AGA", "AGE" }; Dictionnaire mots = new Dictionnaire(tab); string motTrouvé = "AA"; Assert.AreEqual(true, mots.RechDichoRecursif(0, tab[0].Length, motTrouvé)); }
public void Test_RechDicho_Faux() { string[][] tab = new string[2][]; tab[0] = new string[6] { "AA", "AH", "AI", "AN", "AS", "AU" }; tab[1] = new string[6] { "AAS", "ACE", "ADA", "ADO", "AGA", "AGE" }; Dictionnaire mots = new Dictionnaire(tab); string motTrouvé = "AR"; bool appartientDic = mots.RechDichoRecursif(0, tab[0].Length, motTrouvé); Assert.AreEqual(false, appartientDic); }
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