Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }