WPF - Gerador de Palavras-Cruzadas (C#)


Hoje vou apresentar um gerador de palavras cruzadas para relaxar...

O jogo de palavras cruzadas é um passatempo bastante difundido. Consiste de várias linhas formadas por quadrados em branco, algumas na vertical e outras na horizontal, que se cruzam umas com as outras.

Cada linha deve ser preenchida por uma palavra, e cada palavra deve ser descoberta através de dicas que acompanham as cruzadas. Ao se preencher uma das linhas, automaticamente se preenche alguns quadrados das outras linhas que a cruzam, tornando mais fácil sua resolução.

A profissão de criar palavras cruzadas denomina-se "cruciverbalismo" e os profissionais são chamados de "cruciverbalistas". A prática ou cultivo das palavras cruzadas pelos leigos é denominado "cruzadismo" e os seus praticantes são chamados de "cruzadistas".

Palavras cruzadas infantis geralmente são compostas por poucas linhas, que se cruzam em não mais do que dois ou três pontos cada. Nas palavras cruzadas para adultos as linhas são dispostas de modo a formar um quadrilátero, com quase todos os quadrados pertencendo a duas linhas (uma vertical e outra horizontal).

A diferença de tamanho entre as palavras é compensada através de quadrados pretos, que não devem ser percebidos. Linhas que contêm quadrados pretos geralmente são formadas por mais de uma palavra, mas não sempre. Nos demais casos a segunda porção da linha só será preenchida por uma palavra contida numa linha do sentido oposto (vertical para uma linha horizontal e vice-versa).

Apesar de palavras cruzadas serem vendidas em revistas de passatempo, sua maior difusão se dá por meio da publicação em jornais. Todos os grandes jornais do mundo publicam palavras cruzadas, geralmente no caderno de entretenimento ou no de TV.

Fonte: http://pt.wikipedia.org/wiki/Palavras_cruzadas (acessado em maio de 2013)

Neste artigo apresento um projeto feito na linguagem C# que se propõe a gerar palavras cruzadas a partir de palavras que o usuário inclui na aplicação.

O programa na verdade é um esboço e precisa ser completado mas tem alguns recursos como :

Abaixo vemos a janela da aplicação WPF:

Você pode implementar a rotina para impressão e outros melhoramentos no projeto WPF usando o seu talento.

Dica: Para imprimir o formulário WPF podemos usar o código abaixo:

Código  do evento Click
-----------------------------------------------------------------------------------------------------------------------------
PrintDialog macPrintDialog = new PrintDialog();
if (macPrintDialog.ShowDialog()==true)
{
       macPrintDialog.PrintVisual(this, "Imprime todos os controles do form");
}
-----------------------------------------------------------------------------------------------------------------------------
Código - XAML
 <Button Content="Imprime Form" Height="34" HorizontalAlignment="Left" Margin="127,265,0,0" 
Name="macButtonPrintForm" VerticalAlignment="Top" Width="255" Click="macButtonPrintForm_Click" />

A aplicação vale por mostrar como usar alguns dos recursos da WPF.

Pegue o projeto completo aqui: GeradorPalavrasCruzadas.zip

João 14:23 Respondeu-lhe Jesus: Se alguém me amar, guardará a minha palavra; e meu Pai o amará, e viremos a ele, e faremos nele morada.

João 14:24 Quem não me ama, não guarda as minhas palavras; ora, a palavra que estais ouvindo não é minha, mas do Pai que me enviou.

Referências:


José Carlos Macoratti