public void AggiungiOccorrenza(string nome, List <Parola> listaParole) { if (occorrenzeSuccessive.ContieneParolaConNome(nome)) { Parola p = occorrenzeSuccessive.TrovaParolaConNome(nome); occorrenzeSuccessive[p]++; } else { occorrenzeSuccessive.Add(listaParole.Find(x => x.valore == nome), 1); } }
public static string GeneraScritturaCreativa(List <Parola> parole, int lunghezza) { Parola parolaAttuale = parole[ProfessoressaMacrì.random.Next(parole.Count)]; string risultato = parolaAttuale.valore + " "; for (int i = 0; i < lunghezza; i++) { if (parolaAttuale.occorrenzeSuccessive.Keys.Count == 0) { break; } parolaAttuale = parolaAttuale.ProssimaParola(); risultato += parolaAttuale.valore + " "; } return(risultato); }
public static List <Parola> AnalizzaFonte(string fonte) { List <string> listaParoleString = fonte.Split(new char[] { ' ' }).ToList(); List <Parola> listaParole = new List <Parola>(); //Crea la lista di parole, ma senza assegnare le occorrenze for (int i = 0; i < listaParoleString.Count; i++) { string testo = listaParoleString[i]; if (listaParole.Find(x => x.valore == testo) == null) { listaParole.Add(new Parola(testo)); } } for (int i = 0; i < listaParoleString.Count - 1; i++) { string testo = listaParoleString[i]; Parola parolaCorrispondente = listaParole.Find(x => x.valore == testo); parolaCorrispondente.AggiungiOccorrenza(listaParoleString[i + 1], listaParole); } return(listaParole); }