private void AfficheLabel() { int x; if (lesLabels.Count <= 3) { x = 150; } else { x = 60; } int index = 0; foreach (LabelPerso unLabel in lesLabels) { LabelPerso label = new LabelPerso(); if (index == 0) { label.Text = (char.ToUpper(unLabel.Text[0])) + unLabel.Text.Substring(1); } else if (index == lesLabels.Count - 1) { label.Text = unLabel.Text + "."; } else { label.Text = unLabel.Text; } label.Font = new Font("Arial", 24); label.Top = 80; label.Left = x; SizeF stringSize = new SizeF(); Graphics g = CreateGraphics(); stringSize = g.MeasureString(label.Text, label.Font); label.Width = Convert.ToInt32(stringSize.Width); label.AutoSize = true; this.Controls.Add(label); x = x + Convert.ToInt32(stringSize.Width) + 3; index = index + 1; } }
/* --- 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"); } }