//Déroulement du jeu static void tourDeJeu(Joueur [] joueur, int nbDeToursDeJeu, int nbjoueur) { //initialisation Stopwatch chronotot = new Stopwatch(); //création du chronomètre total Stopwatch chrono1min = new Stopwatch(); //création du chronomètre pour 1 min int tempsTotal = nbDeToursDeJeu * 60000; //permet d'avoir le temps total en millisecondes string mots = ""; int i = 0; //Pour le plateau char[,] lettre = new char[4, 4]; De[] de = new De[16]; Plateau plateau = new Plateau(de, lettre); chronotot.Start(); //démarre le chrono total while (chronotot.ElapsedMilliseconds < tempsTotal) //boucle total { Console.Clear(); chrono1min.Start(); //démarre le chrono d'une minute StreamReader sReader = plateau.OpenFile("Des.txt"); //on lit le plateau plateau.ReadFile(sReader); string affichage = plateau.ToString(); WriteAt(affichage, 0, 3); while (chrono1min.ElapsedMilliseconds < 60000) //Boucle 1 min { WriteAt(" ", 0, 11); //pour nettoyer l'affichage WriteAt(" ", 0, 9); // WriteAt(" ", 20, 3); // WriteAt(" ", 0, 10); //idem WriteAt("Au tour de " + joueur[i].Nom + "\n", 20, 3); WriteAt("Chronomètre lancé", 20, 5); WriteAt("", 0, 8); Console.WriteLine("Saissisez un mot"); mots = Convert.ToString(Console.ReadLine()).ToUpper(); //ToUpper car les mots du dico sont en maj if ((verifContraintes(plateau, mots) == true) && (joueur[i].Contain(mots) == false)) //si le joueur n'a pas encore dit le mot + toutes les contraintes { joueur[i].Score += calculScore(mots); //appel de la méthode calcul score joueur[i].Add_Mot(mots); //on add le mot trouvé a la liste des mots trouvés WriteAt("Score de " + joueur[i].Nom + " = " + joueur[i].Score, 20, 7); WriteAt(" ", 20, 9); WriteAt("Mot valide :D ", 20, 9); } else //si mot pas valide { WriteAt(" ", 20, 9); WriteAt("Mot invalide :(", 20, 9); } } WriteAt("Fin du temps imparti, au suivant !", 0, 13); Thread.Sleep(1000); WriteAt(" ", 0, 13); WriteAt(" ", 20, 7); i++; //pour passer au joueur d'apres if (i == nbjoueur) { i = 0; } //si on a fait les n joueurs, on recommence chrono1min.Reset(); //reset d'une chrono de 1 min } Console.Clear(); WriteAt("Fin du temps imparti !", 45, 10); Thread.Sleep(1000); Console.Clear(); Console.WriteLine("Récapitulatif : "); int indiceGagnant = 0; int scoreGagnant = 0; for (int k = 0; k < nbjoueur; k++) { Console.WriteLine(joueur[k].toString()); if (joueur[k].Score > scoreGagnant) //pour trouver le score max { scoreGagnant = joueur[k].Score; indiceGagnant = k; } } Console.WriteLine("Le vainqueur est ...... " + joueur[indiceGagnant].Nom + "\nFélicitations !!"); }