Gerador de Lero Lero em C#

O gerador de Lero Lero é um software que gera textos prolixos. Embora isso possa parecer uma piada, estes tipos de softwares são usados por exemplo para gerar horóscopos, textos de autoajuda e discursos políticos.

Criamos na sala de aula um destes geradores de lero lero usando uma tabela disponibilizada na internet, a qual não consegui descobrir a sua fonte original, segue;

Perceba que a imagem acima é formada por 4 colunas. A ideia do gerador é colocar cada uma destas colunas em um arquivo texto.

Depois de organizar os textos, vamos para o Visual Studio, a interface do nosso projeto será mostrado na imagem a seguir. Note que temos 4 listboxes, aonde iremos carregar os arquivos textos que criamos no passo anterior;

Programando o gerador de Lero Lero

Como carregar um arquivo TXT em uma ListBox com C#

Agora vamos a programação. Primeiramente salve seus arquivos textos dentro da pasta bin/debug do seu projeto para que possamos acessá-lo de forma simplificada. Para carregar os arquivos textos dentro dos listboxes usamos o seguinte código, a ser colocado no evento load do form

/*
   CÓDIGO PARA LER O CONTEÚDO DE UM ARQUIVO TEXTO (.TXT)
   Colocar no evento Load do Form
*/

string arquivo;
arquivo = @"list1.txt";
using (StreamReader conteudoDoArquivo = new StreamReader(arquivo))
{
    while (!conteudoDoArquivo.EndOfStream)
    {
      lstFrase1.Items.Add(Convert.ToString(conteudoDoArquivo.ReadLine()));
    }
}

arquivo = @"list2.txt";
using (StreamReader conteudoDoArquivo = new StreamReader(arquivo))
{
     while (!conteudoDoArquivo.EndOfStream)
     {
       lstFrase2.Items.Add(Convert.ToString(conteudoDoArquivo.ReadLine()));
     }
}

arquivo = @"list3.txt";
using (StreamReader conteudoDoArquivo = new StreamReader(arquivo))
{
     while (!conteudoDoArquivo.EndOfStream)
     {
       lstFrase3.Items.Add(Convert.ToString(conteudoDoArquivo.ReadLine()));
     }
}

arquivo = @"list4.txt";
using (StreamReader conteudoDoArquivo = new StreamReader(arquivo))
{
     while (!conteudoDoArquivo.EndOfStream)
     {
        lstFrase4.Items.Add(Convert.ToString(conteudoDoArquivo.ReadLine()));
     }
}

Perceba que os arquivos textos criados funcionarão como um banco de dados, de modo que você poderá acrescentar mais textos ao arquivo. Agora temos que sortear uma linha das 4 listBoxes para criarmos então uma frase.

Sorteando uma linha da ListBox

O código do sorteio é este, que pode ser colocando dentro do botão “Gerar Frase”.

Random sorteio = new Random();
int frase1 = sorteio.Next(0, lstFrase1.Items.Count);
txtTextoPronto.Text = lstFrase1.Items[frase1].ToString();

int frase2 = sorteio.Next(0, lstFrase2.Items.Count);
txtTextoPronto.Text += " " + lstFrase2.Items[frase2].ToString();

int frase3 = sorteio.Next(0, lstFrase3.Items.Count);
txtTextoPronto.Text += " " + lstFrase3.Items[frase3].ToString();
            
int frase4 = sorteio.Next(0, lstFrase4.Items.Count);
txtTextoPronto.Text += " " + lstFrase4.Items[frase4].ToString();

O resultado será este;
(Caso não consiga visualizar o GIF, clique sobre a imagem)

Bem, encerramos aqui. Veja outros artigos e projetos de C# aqui no Blogson, bons estudos.

exemplo de gerador de textosgerador de frases C#gerador de lero lerogerador de textos C#lero lero em C#