Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Se você procura uma distração divertida, o Word Jumble é uma boa opção, tanto para jogar quanto para programar. Alimentado pelo módulo Tkinter do Python, você pode criar e jogar este jogo infantil em um aplicativo GUI conveniente.

O programa exibe uma palavra confusa que você precisa reorganizar em sua forma original. Se você estiver preso, pode clicar no botão Dica para revelar uma letra de cada vez. Adivinhe a palavra corretamente e ganhe muito!

O módulo aleatório e Tkinter

O módulo Random é um módulo interno do Python usado para gerar números pseudo-aleatórios. Com isso, você pode gerar números aleatórios, escolher elementos aleatórios de uma lista, embaralhar o conteúdo de uma lista e muito mais.

Este módulo pode ajudá-lo a criar vários tipos de aplicativos, incluindo uma simulação de rolagem de dados, um embaralhador de lista ou um

gerador de senha aleatória. Você também pode usá-lo para criar jogos como críquete de mão e adivinhação de números.

Tkinter permite que você crie aplicativos de desktop. Ele oferece uma variedade de widgets como botões, rótulos e caixas de texto que facilitam o desenvolvimento de aplicativos. Para instalar o Tkinter, abra um terminal e execute:

pip instalar tkinter

Como construir um jogo de palavras cruzadas usando Python

Você pode encontrar o código-fonte do Word Jumble Game usando Python neste Repositório GitHub.

Importe os módulos Tkinter e Random. Inicialize a instância do Tkinter e exiba a janela raiz. Defina as dimensões em pixels, o título e a cor de fundo da janela.

de tkinter importar *
de aleatório importar escolha
de aleatório importar embaralhar

raiz = Tk()
root.title('Jogo de palavras cruzadas')
raiz.geometria("700x500")
root.configure (background='aqua')

Defina um widget de rótulo para exibir a palavra confusa. Especifique a janela pai na qual você deseja colocá-lo, o texto que deve ser exibido, o estilo da fonte e a cor do plano de fundo. Organize o widget e adicione algum preenchimento a ele.

Defina uma função, embaralhador. Configure o rótulo de dica para exibir inicialmente uma string vazia e defina a variável de dica global como zero. Exclua qualquer conteúdo devido à execução anterior do programa e exiba uma string de entrada.

meu_rótulo = Rótulo (raiz, texto="", fonte=("Arial", 48), bg='aqua')
my_label.pack (pady=20)

defembaralhador():
hint_label.config (texto='')
global dica_contagem
dica_conta = 0
entrada_resposta.delete(0, FIM)
answer_label.config (texto='', bg ='aqua')

Defina uma lista de palavras que servirá como conjunto de dados para o jogo de palavras cruzadas. Selecione uma palavra aleatória da lista e faça uma lista de suas letras individuais. Embaralhe a lista e reformule a palavra iterando sobre ela e armazenando-a em uma string. Exiba a palavra confusa por meio do rótulo na tela.

 frutas = ['maçã', 'banana', 'morango', 'melancia', 'kiwi']
global palavra
palavra = escolha (frutas)
break_apart_word = lista (palavra)
embaralhar (break_apart_word)
global palavra_embaralhada
palavra_baralhada = ''

para carta em break_apart_word:
palavra_baralhada += letra

my_label.config (text=shuffled_word)

Tente carregar um conjunto de palavras de um arquivo como uma extensão para este projeto. O arquivo de dicionário—/usr/share/dict/words no Linux/macOS—é uma excelente fonte de palavras.

Defina uma função, responder. Se a palavra for igual à digitada pelo usuário, exiba uma mensagem vencedora na cor verde. Caso contrário, mostre que foi a resposta errada na cor vermelha.

defresponder():
se palavra == entry_answer.get():
answer_label.config (texto="Resposta correta!", bg ='aqua', fg ='verde')
outro:
answer_label.config (texto="Resposta errada, por favor tente novamente.", bg ='aqua', fg ='vermelho')

Defina uma função, dica, para inspecionar o hint_count global. Se a contagem for menor que o comprimento da palavra, exiba a próxima letra da resposta correta. Aumente a contagem da letra de dica para que, na próxima vez que a função for executada, o programa exiba a próxima letra.

defdica(contar):
global dica_contagem
dica_conta = contagem
comprimento_palavra = len (palavra)

se contagem < comprimento_da_palavra:
hint_label.config (texto=f'{hint_label["texto"]}{palavra[contagem]}', bg ='aqua')
dica_conta += 1

Defina um widget de entrada para obter entrada do usuário. Especifique a janela pai na qual você deseja colocar este widget, junto com seu estilo de fonte, e organize-a fornecendo algum preenchimento para espaço amplo.

Defina um Frame para os botões. Um quadro atua como um contêiner direcionando a colocação de outros widgets. Ele organiza o layout e fornece preenchimento usando seções retangulares na tela. Defina a janela pai na qual deseja colocar o quadro junto com a cor de fundo.

entry_answer = Entrada (raiz, fonte=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Quadro (root, bg='aqua')
button_frame.pack (pady=20)

Declare três botões: um para exibir a resposta correta, um para escolher outra palavra e outro para exibir dicas. Especifique o quadro no qual deseja colocar cada botão e o texto que ele deve exibir. Passe também a função a ser executada quando o usuário clicar nela, a cor de fundo, a largura e o tamanho da fonte.

Use o grade() gerente para colocar esses botões em uma linha e três colunas diferentes. Você pode especificar o preenchimento para adicionar espaço entre os botões.

answer_button = Botão (button_frame, text="Responder", comando=resposta, bg='laranja', largura=8, fonte=10)
answer_button.grid (linha=0, coluna=0, padx=10)

my_button = Botão (button_frame, text="Escolha outra palavra", comando=embaralhador, bg='laranja', largura=15, fonte=10)
my_button.grid (linha=0, coluna=1, padx=10)

hint_button = Botão (button_frame, text="Dica", comando=lambda: dica (contagem_de_dicas), bg='laranja', largura=5, fonte=10)
dica_button.grid (linha=0, coluna=2, padx=10)

Crie rótulos para a resposta e a dica. Especifique a janela pai na qual deseja colocar os rótulos, o texto que deve ser exibido e o estilo da fonte e organize-a usando pacote(). Passe um valor de preenchimento, pady, para melhor colocação das etiquetas.

answer_label = Rótulo (raiz, text='', fonte=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Rótulo (raiz, texto='', fonte=("Arial", 22), bg='aqua')
dica_label.pack (pady=10)

Chame a função shuffler() para configurar o jogo. Em seguida, ligue circuito principal() para executar o loop de eventos Tkinter e ouvir eventos (como pressionamentos de botão) até fechar a janela.

embaralhador()
root.mainloop()

Junte todo o código e jogue o Word Jumble Game a qualquer hora, em qualquer lugar.

Exemplo de saída do jogo Word Jumble

Ao executar o programa, ele exibe uma palavra embaralhada junto com os botões Answer, Pick Another Word e Hint. Ao clicar no Dica botão, o programa exibe as letras da resposta correta uma a uma. Se você digitar a resposta correta, o programa exibirá a mensagem vencedora em verde.

Se você adivinhar a resposta errada, o programa pede que você tente novamente na cor vermelha.

Jogos de palavras usando Python

Usando o Python, você pode desenvolver uma variedade ampla e empolgante de jogos de palavras. Os exemplos incluem Scrabble, Hangman, palavras cruzadas, Mad Libs e anagramas. Esses jogos de palavras podem ser baseados em terminal ou GUI, como você viu aqui.

Com o Tkinter, você pode criar jogos GUI com muita facilidade. Tudo o que você precisa fazer é importar o módulo, gerar uma janela, adicionar widgets e executar o loop de eventos. Para jogos mais avançados, você pode explorar os módulos Pygame, Kivy e Panda 3D.