private string Adjectif(string genre, string pluriel) { lesMots.Clear(); var random = new Random(); lesMots = Bdd.SelectAllAdjectifsByFonction("qualificatif"); int indexAdj = random.Next(lesMots.Count); Adjectif adj = (Adjectif)lesMots[indexAdj]; idAdjectif = adj.GetId(); if (genre == "Masculin") { if (pluriel == "0") { adjStock = adj.GetSingMasculin(); indexAdjectif = "1"; return(adjStock); } else if (pluriel == "1") { adjStock = adj.GetPlurMasculin(); indexAdjectif = "3"; return(adjStock); } else { return("Erreur de sélection de multiplicité de l'adjectif"); } } else if (genre == "Feminin") { if (pluriel == "0") { adjStock = adj.GetSingFeminin(); indexAdjectif = "2"; return(adjStock); } else if (pluriel == "1") { adjStock = adj.GetPlurFeminin(); indexAdjectif = "4"; return(adjStock); } else { return("Erreur de sélection de multiplicité de l'adjectif"); } } else { return("Erreur de sélection du genre de l'adjectif"); } }
/* --- Génération de Phrase --- */ private void button1_Click(object sender, EventArgs e) { SuppLabel(); var random = new Random(); int num = random.Next(0, 2); if (num == 0) { int choiceFirst = random.Next(0, 2); if (choiceFirst == 0) { lesMots = Bdd.SelectAllAdjectifsByFonction("possessif"); int indexAdjPoss = random.Next(lesMots.Count); Adjectif adj = (Adjectif)Bdd.SelectAdjectifPossessif(lesMots[indexAdjPoss].getTexte()); idAdjP = adj.GetId(); var genre = random.Next(1, 5); string pluriel; string femMasc; if (genre.ToString() == "1") //SingMasculin { femMasc = "Masculin"; pluriel = "0"; Nom(pluriel, femMasc); Verbe("il"); adjPStock = adj.GetSingMasculin(); indexAdjP = "1"; if (verbeStock.GetGenre() == "Etat") { Adjectif(femMasc, pluriel); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetSingMasculin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetSingMasculin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else if (genre.ToString() == "2") //SingFeminin { femMasc = "Feminin"; pluriel = "0"; Nom(pluriel, femMasc); Verbe("elle"); adjPStock = adj.GetSingFeminin(); indexAdjP = "2"; if (verbeStock.GetGenre() == "Etat") { Adjectif(femMasc, pluriel); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetSingFeminin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); //MessageBox.Show(adj.GetSingFeminin() + " " + // nomStock + " " + // conjugaisonStock + " " + // advStock); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetSingFeminin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else if (genre.ToString() == "3") // PlurMasculin { femMasc = "Masculin"; pluriel = "1"; Nom(pluriel, femMasc); Verbe("ils"); adjPStock = adj.GetPlurMasculin(); indexAdjP = "3"; if (verbeStock.GetGenre() == "Etat") { Adjectif(femMasc, pluriel); //MessageBox.Show(adj.GetPlurMasculin() + " " + // nomStock + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetPlurMasculin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); //MessageBox.Show(adj.GetPlurMasculin() + " " + // nomStock + " " + // conjugaisonStock + " " + // advStock); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetPlurMasculin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else if (genre.ToString() == "4") //PlurFeminin { femMasc = "Feminin"; pluriel = "1"; Nom(pluriel, femMasc); Verbe("elles"); adjPStock = adj.GetPlurFeminin(); indexAdjP = "4"; if (verbeStock.GetGenre() == "Etat") { Adjectif(femMasc, pluriel); //MessageBox.Show(adj.GetPlurFeminin() + " " + // nomStock + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetPlurFeminin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); //MessageBox.Show(adj.GetPlurFeminin() + " " + // nomStock + " " + // conjugaisonStock + " " + // advStock); LabelPerso labelAdjP = new LabelPerso(); labelAdjP.Text = adj.GetPlurFeminin(); lesLabels.Add(labelAdjP); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } } else if (choiceFirst == 1) { lesMots = Bdd.SelectAllArticles(); int indexArt = random.Next(lesMots.Count); Article article = (Article)lesMots[indexArt]; idArticle = article.GetId(); int genreArt = random.Next(0, 2); string plurArt = random.Next(0, 2).ToString(); if (plurArt == "0") { if (genreArt == 0) { indexArticle = "1"; Nom(plurArt, "Masculin"); Verbe("il"); if (idArticle == "2" && (nomStock[0].ToString() == "a" || nomStock[0].ToString() == "h" || nomStock[0].ToString() == "e" || nomStock[0].ToString() == "o" || nomStock[0].ToString() == "u" || nomStock[0].ToString() == "i")) { LabelPerso labelArt = new LabelPerso(); labelArt.Text = "l'"; lesLabels.Add(labelArt); } else { LabelPerso labelArt = new LabelPerso(); labelArt.Text = article.GetMasculin(); lesLabels.Add(labelArt); } LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); if (verbeStock.GetGenre() == "Etat") { Adjectif("Masculin", "0"); //MessageBox.Show(article.GetMasculin() + " " + // nomStock + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); //MessageBox.Show(article.GetMasculin() + " " + // nomStock + " " + // conjugaisonStock + " " + // advStock); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else if (genreArt == 1) { indexArticle = "2"; Nom(plurArt, "Feminin"); Verbe("elle"); if (idArticle == "2" && (nomStock[0].ToString() == "a" || nomStock[0].ToString() == "h" || nomStock[0].ToString() == "e" || nomStock[0].ToString() == "o" || nomStock[0].ToString() == "u" || nomStock[0].ToString() == "i")) { LabelPerso labelArt = new LabelPerso(); labelArt.Text = "l'"; lesLabels.Add(labelArt); } else { LabelPerso labelArt = new LabelPerso(); labelArt.Text = article.GetFeminin(); lesLabels.Add(labelArt); } LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); if (verbeStock.GetGenre() == "Etat") { Adjectif("Feminin", "0"); //MessageBox.Show(article.GetFeminin() + " " + // nomStock + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); //MessageBox.Show(article.GetFeminin() + " " + // nomStock + " " + // conjugaisonStock + " " + // advStock); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else { MessageBox.Show("Erreur lors du choix de l'article ou de l'adjectif possessif"); } } else if (plurArt == "1") { indexArticle = "3"; if (genreArt == 0) { Nom(plurArt, "Masculin"); Verbe("ils"); LabelPerso labelArt = new LabelPerso(); labelArt.Text = article.GetPluriel(); lesLabels.Add(labelArt); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); if (verbeStock.GetGenre() == "Etat") { Adjectif("Masculin", "1"); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { Adverbe(); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else if (genreArt == 1) { Nom(plurArt, "Feminin"); Verbe("elles"); LabelPerso labelArt = new LabelPerso(); labelArt.Text = article.GetPluriel(); lesLabels.Add(labelArt); LabelPerso labelN = new LabelPerso(); labelN.Text = nomStock; lesLabels.Add(labelN); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); if (verbeStock.GetGenre() == "Etat") { Adjectif("Feminin", "1"); //MessageBox.Show(article.GetPluriel() + " " + // nomStock + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { //MessageBox.Show(article.GetPluriel() + " " + // nomStock + " " + // conjugaisonStock + " " + // advStock); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de détection du verbe"); } } else { MessageBox.Show("Erreur lors du choix de l'article ou de l'adjectif possessif"); } } else { MessageBox.Show("Erreur de sélection du pluriel de l'article"); } } else { MessageBox.Show("Erreur de sélection de multiplicité de l'article"); } } else if (num == 1) { lesMots = Bdd.SelectAllPronoms(); int index = random.Next(lesMots.Count); Pronom pronom = (Pronom)Bdd.SelectPronomBySingulier(lesMots[index].getTexte()); idPronom = pronom.GetId(); pronomStock = pronom.getTexte(); Verbe(pronom.getTexte()); string femMasc; if (verbeStock.GetGenre() == "Etat") { if (pronom.GetPluriel() == "0") { if (pronom.GetGenre() == "Masculin" || pronom.GetGenre() == "Feminin") { femMasc = pronom.GetGenre(); Adjectif(femMasc, "0"); //MessageBox.Show(pronom.getTexte() + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (pronom.GetGenre() == "Indifferent") { if ((pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "a") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "e") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "i") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "o") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "u")) { femMasc = "Masculin"; Adjectif(femMasc, "0"); //MessageBox.Show("j'" + // conjugaisonStock + " " + // adjStock); //LabelPerso labelPersoAP = new LabelPerso("j'"); //labelPersoAP.Text = "j'"; LabelPerso labelP = new LabelPerso(); labelP.Text = "j'"; lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } int indexChoose = random.Next(0, 2); if (indexChoose == 0) { femMasc = "Masculin"; Adjectif(femMasc, "0"); //MessageBox.Show(pronom.getTexte() + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (indexChoose == 1) { femMasc = "Feminin"; Adjectif(femMasc, pronom.GetPluriel()); //MessageBox.Show(pronom.getTexte() + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de sélection de genre de l'adjectif : Random number failed"); } } else { MessageBox.Show("Erreur de sélection de genre de l'adjectif"); } } else if (pronom.GetPluriel() == "1") { if (pronom.GetGenre() == "Masculin" || pronom.GetGenre() == "Feminin") { femMasc = pronom.GetGenre(); Adjectif(femMasc, pronom.GetPluriel()); //MessageBox.Show(pronom.getTexte() + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (pronom.GetGenre() == "Indifferent") { int indexChoose = random.Next(0, 2); if (indexChoose == 0) { femMasc = "Masculin"; Adjectif(femMasc, pronom.GetPluriel()); //MessageBox.Show(pronom.getTexte() + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else if (indexChoose == 1) { femMasc = "Feminin"; Adjectif(femMasc, pronom.GetPluriel()); //MessageBox.Show(pronom.getTexte() + " " + // conjugaisonStock + " " + // adjStock); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = adjStock; lesLabels.Add(labelA); AfficheLabel(); } else { MessageBox.Show("Erreur de sélection du genre de l'adjectif : Random number failed"); } } else { MessageBox.Show("Erreur de sélection du genre de l'adjectif"); } } else { MessageBox.Show("Erreur de sélection de la multiplicité du pronom"); } } else if (verbeStock.GetGenre() == "Action" || verbeStock.GetGenre() == "Mouvement") { if ((pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "a") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "e") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "i") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "o") || (pronom.getTexte() == "je" && verbeConjugueStock[0].ToString() == "u")) { femMasc = "Masculin"; Adverbe(); //MessageBox.Show("j'" + // conjugaisonStock + " " + // advStock); LabelPerso labelP = new LabelPerso(); labelP.Text = "j'"; lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } else { Adverbe(); LabelPerso labelP = new LabelPerso(); labelP.Text = pronom.getTexte(); lesLabels.Add(labelP); LabelPerso labelV = new LabelPerso(); labelV.Text = conjugaisonStock; lesLabels.Add(labelV); LabelPerso labelA = new LabelPerso(); labelA.Text = advStock; lesLabels.Add(labelA); AfficheLabel(); } } else { MessageBox.Show("Erreur de détection du verbe"); } } else { MessageBox.Show("Une erreur est survenue"); } }