Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Si buscas una distracción divertida, el revoltijo de palabras es una buena opción, tanto para jugar como para programar. Desarrollado por el módulo Tkinter de Python, puede crear y jugar este juego infantil en una práctica aplicación GUI.

El programa muestra una palabra desordenada que debe reorganizar en su forma original. Si está atascado, puede hacer clic en el botón Pista para revelar una letra a la vez. ¡Adivina la palabra correctamente y gana a lo grande!

El módulo aleatorio y Tkinter

El módulo Random es un módulo integrado de Python que se utiliza para generar números pseudoaleatorios. Con esto, puede generar números aleatorios, elegir elementos aleatorios de una lista, mezclar el contenido de una lista y más.

Este módulo puede ayudarlo a crear varios tipos de aplicaciones, incluida una simulación de tirada de dados, un barajador de listas o un

instagram viewer
generador de contraseñas aleatorias. También puedes usarlo para crear juegos como grillo de mano y adivinanzas de números.

Tkinter te permite crear aplicaciones de escritorio. Ofrece una variedad de widgets como botones, etiquetas y cuadros de texto que facilitan el desarrollo de aplicaciones. Para instalar Tkinter, abre una terminal y ejecuta:

pip instalar tkinter

Cómo construir un juego de Word Jumble usando Python

Puedes encontrar el código fuente de Word Jumble Game usando Python en este repositorio GitHub.

Importa los módulos Tkinter y Random. Inicialice la instancia de Tkinter y muestre la ventana raíz. Establezca las dimensiones en píxeles, el título y el color de fondo de la ventana.

de tkinter importar *
de aleatorio importar elección
de aleatorio importar barajar

raíz = Tk()
raíz.título('Juego de revoltijo de palabras')
raíz.geometría("700x500")
root.configure (fondo='agua')

Defina un widget de etiqueta para mostrar la palabra desordenada. Especifique la ventana principal en la que desea colocarlo, el texto que debe mostrar, el estilo de fuente y el color de fondo. Organice el widget y agréguele algo de relleno.

Definir una función, barajador. Configure la etiqueta de sugerencia para mostrar inicialmente una cadena vacía y establezca la variable de sugerencia global en cero. Elimine cualquier contenido debido a la ejecución anterior del programa y muestre una cadena de entrada en su lugar.

my_label = Etiqueta (raíz, texto="", fuente=("arial", 48), bg='agua')
mi_etiqueta.paquete (pady=20)

definitivamentebarajador():
sugerencia_etiqueta.config (texto='')
global pista_cuenta
pista_cuenta = 0
entrada_respuesta.eliminar(0, FIN)
etiqueta_respuesta.config (texto='', bg='agua')

Defina una lista de palabras que servirán como conjunto de datos para el juego de revoltijo de palabras. Seleccione una palabra al azar de la lista y haga una lista de sus letras individuales. Baraja la lista y reforma la palabra iterándola y almacenándola en una cadena. Muestre la palabra mezclada a través de la etiqueta en la pantalla.

 frutas = ['manzana', 'banana', 'fresa', 'sandía', 'kiwi']
global palabra
palabra = elección (frutos)
break_apart_word = lista (palabra)
barajar (break_apart_word)
global barajado_palabra
barajado_palabra = ''

para carta en romper_apart_word:
barajar_palabra += letra

my_label.config (texto=palabra_mezclada)

Prueba a cargar un conjunto de palabras de un archivo como extensión de este proyecto. El archivo de diccionario (/usr/share/dict/words en Linux/macOS) es una excelente fuente de palabras.

Definir una función, respuesta. Si la palabra es igual a la entrada del usuario, se muestra un mensaje ganador en color verde. De lo contrario, muestra que fue la respuesta incorrecta en color rojo.

definitivamenterespuesta():
si palabra == entrada_respuesta.get():
etiqueta_respuesta.config (texto="¡Respuesta correcta!", bg='agua', fg='verde')
demás:
etiqueta_respuesta.config (texto="Respuesta incorrecta, inténtalo de nuevo"., bg='agua', fg='rojo')

Definir una función, pista, para inspeccionar el hint_count global. Si el conteo es menor que la longitud de la palabra, muestre la siguiente letra de la respuesta correcta. Incremente el conteo de la letra de la sugerencia para que la próxima vez que se ejecute la función, el programa muestre la siguiente letra.

definitivamentepista(contar):
global pista_cuenta
hint_count = contar
word_length = len (palabra)

si contar sugerencia_etiqueta.config (texto=F'{etiqueta_sugerencia["texto"]}{el recuento de palabras]}', bg='agua')
pista_cuenta += 1

Defina un widget de entrada para recibir información del usuario. Especifique la ventana principal en la que desea colocar este widget, junto con su estilo de fuente, y organícelo proporcionando algo de relleno para un amplio espacio.

Defina un marco para los botones. Un marco actúa como un contenedor que dirige la ubicación de otros widgets. Organiza el diseño y proporciona relleno utilizando secciones rectangulares en la pantalla. Establezca la ventana principal en la que desea colocar el marco junto con el color de fondo.

entry_answer = Entrada (raíz, fuente=("arial", 24))
entrada_respuesta.paquete (pady=20)

button_frame = Marco (raíz, bg='agua')
button_frame.paquete (pady=20)

Declare tres botones: uno para mostrar la respuesta correcta, uno para elegir otra palabra y el otro para mostrar sugerencias. Especifique el marco en el que desea colocar cada botón y el texto que debe mostrar. También pase la función para que se ejecute cuando el usuario haga clic en ella, el color de fondo, el ancho y el tamaño de fuente.

Utilizar el red() administrador para colocar estos botones en una fila y tres columnas diferentes. Puede especificar relleno para agregar espacio entre los botones.

answer_button = Botón (button_frame, text="Respuesta", comando=respuesta, bg='naranja', ancho=8, fuente=10)
botón_respuesta.grid (fila=0, columna=0, padx=10)

mi_boton = Botón (button_frame, text="Elige otra palabra", comando=barajador, bg='naranja', ancho=15, fuente=10)
mi_boton.grid (fila=0, columna=1, padx=10)

hint_button = Botón (button_frame, text="Pista", comando=lambda: pista (pista_cuenta), bg='naranja', ancho=5, fuente=10)
sugerencia_boton.grid (fila=0, columna=2, padx=10)

Crea etiquetas para la respuesta y la pista. Especifique la ventana principal en la que desea colocar las etiquetas, el texto que debe mostrar y el estilo de fuente, y organícelo usando embalar(). Pasar un valor de relleno, pady, para una mejor colocación de las etiquetas.

answer_label = Etiqueta (raíz, texto='', fuente=("arial", 22))
etiqueta_respuesta.paquete (pady=20)

hint_label = Etiqueta (raíz, texto='', fuente=("arial", 22), bg='agua')
sugerencia_etiqueta.paquete (pady=10)

Llame a la función shuffler() para configurar el juego. Luego llame bucle principal() para ejecutar el ciclo de eventos de Tkinter y escuchar eventos (como presionar botones) hasta que cierre la ventana.

barajador()
raíz.mainloop()

Reúna todo el código y juegue Word Jumble Game en cualquier momento y en cualquier lugar.

Ejemplo de salida del juego Word Jumble

Al ejecutar el programa, muestra una palabra mezclada junto con los botones Responder, Elegir otra palabra y Pista. Al hacer clic en el Pista botón, el programa muestra las letras de la respuesta correcta una por una. Si ingresa la respuesta correcta, el programa muestra el mensaje ganador en verde.

Si adivina la respuesta incorrecta, el programa le pide que intente nuevamente en color rojo.

Juegos de palabras usando Python

Usando Python puedes desarrollar una amplia y emocionante gama de juegos de palabras. Los ejemplos incluyen Scrabble, Hangman, crucigramas, Mad Libs y anagramas. Estos juegos de palabras pueden estar basados ​​en terminales o en GUI, como ha visto aquí.

Con Tkinter, puedes crear juegos GUI muy fácilmente. Todo lo que tiene que hacer es importar el módulo, generar una ventana, agregar widgets y ejecutar el ciclo de eventos. Para juegos más avanzados, puede explorar los módulos Pygame, Kivy y Panda 3D.