public void Add(string mot) { ListeMotsTrouves.Add(mot); }
/// <summary> /// Si on veut poser un mots on passe par cette méthode qui verifie si le mots est un mots du dico /// si celui ci est un motscroisée valable /// si les lettres correpondantes au mots sont des lettre du joueur. /// </summary> /// <param name="mots"></param> /// <param name="Position"></param> /// <param name="UnMot"></param> /// <param name="Jeu1"></param> /// <param name="r"></param> public void PoserUnMot(string mots, string[] Position, MotsCroises UnMot, Jeu Jeu1, Random r) //a partir de l'entree mettre une lettre dans la grille. { Lettre JOKER = new Lettre('§', 0); //C'est mon joker bool ContientUnJoker = false; string NouveauMots = ""; int NbJokers = 0; for (int o = 0; o < 2; o++) //au cas ou la personne ait 2 jokers On verfie Deux fois { for (int l = 0; l < mots.Length; l++) { if (mots[l] == '(') //si j'utilises un joker je mets des () autour de la lettre remplacée { if (mots[l + 2] == ')') { for (int z = 0; z < mots.Length; z++) //il y a un joker { if (z != l && z != l + 2) //on reforme le mots sans les (). { NbJokers += 1; ContientUnJoker = true; NouveauMots += mots[z]; } } mots = NouveauMots; //pour ne pas avoir les (). } } } } // on verfie les Jokers if (ContientUnJoker) { mots = NouveauMots; } UnMot.MotsGrille.Add(mots); //une fonction pour verifier que le mot est bon bool result = OteLettre(mots, ContientUnJoker, NbJokers, Position); //3 verifications ici. if (UnMot.EstUnMotCroisee(mots, Position) && UnMot.EstUnMotDuDictionnaire() && result) { int poid; //correspond au poid de la lettre en question int PoidMots = 0; //corresponds poid du mots Console.WriteLine("le mots est " + mots); for (int i = 0; i < mots.Length; i++) { if (mots[i] == 'X' || mots[i] == 'Y' || mots[i] == 'Z' || mots[i] == 'W' || mots[i] == 'K') { poid = 5; } else { poid = 0; } Lettre UneLettre = new Lettre(mots[i], poid); PoidMots += poid; if (Position[2].ToUpper() == "H")//on pose le mots sur la grille { GrilleMatrice[int.Parse(Position[0]) - 1, int.Parse(Position[1]) - 1 + i] = UneLettre; } if (Position[2].ToUpper() == "V") { GrilleMatrice[int.Parse(Position[0]) - 1 + i, int.Parse(Position[1]) - 1] = UneLettre; } } Console.WriteLine($"Le poid du mot est {PoidMots}"); List <string> Mots = new List <string>(); Mots.Add(mots); ListeMotsTrouves.Add(mots); CalculScore(); } else { Console.WriteLine("ERREUR => NON POSSIBLE"); //une des 3 verifications a renvoyé false UnMot.MotsGrille.Remove(mots); //on actualise ListeMotsTrouves.Remove(mots); } Add_Lettres(2, Jeu1.LaPioche, r); //un tour est effectué, on ajoute deux lettre au joueur en cours Console.WriteLine($"Nouveau Score = {this.Score}"); //si le mots est valable AfficherGrille(); }