Si vous recherchez une distraction amusante, le fouillis de mots est une bonne option, à la fois pour jouer et pour programmer. Propulsé par le module Tkinter de Python, vous pouvez créer et jouer à ce jeu d'enfance dans une application graphique pratique.
Le programme affiche un mot confus que vous devez réorganiser dans sa forme originale. Si vous êtes bloqué, vous pouvez cliquer sur le bouton Hint pour dévoiler une lettre à la fois. Devinez le mot correctement et gagnez gros !
Le module aléatoire et Tkinter
Le module Random est un module Python intégré utilisé pour générer des nombres pseudo-aléatoires. Avec cela, vous pouvez générer des nombres aléatoires, choisir des éléments aléatoires dans une liste, mélanger le contenu d'une liste, etc.
Ce module peut vous aider à créer plusieurs types d'applications, y compris une simulation de lancer de dés, un mélangeur de liste ou un
générateur de mot de passe aléatoire. Vous pouvez également l'utiliser pour créer des jeux comme criquet à la main et deviner des nombres.Tkinter vous permet de créer des applications de bureau. Il offre une variété de widgets tels que des boutons, des étiquettes et des zones de texte qui facilitent le développement d'applications. Pour installer Tkinter, ouvrez un terminal et exécutez :
pip installer tkinter
Comment construire un jeu Word Jumble en utilisant Python
Vous pouvez trouver le code source du jeu Word Jumble en utilisant Python dans ce Référentiel GitHub.
Importez les modules Tkinter et Random. Initialisez l'instance de Tkinter et affichez la fenêtre racine. Définissez les dimensions en pixels, le titre et la couleur de fond de la fenêtre.
depuis tkinter importer *
depuis aléatoire importer choix
depuis aléatoire importer mélanger
racine = Tk()
racine.titre(« Jeu de mots »)
root.geometry("700x500")
root.configure (arrière-plan='aqua')
Définissez un widget d'étiquette pour afficher le mot confus. Spécifiez la fenêtre parente dans laquelle vous souhaitez la placer, le texte qu'elle doit afficher, le style de police et la couleur d'arrière-plan. Organisez le widget et ajoutez-y du rembourrage.
Définir une fonction, batteur. Configurez l'étiquette d'astuce pour afficher initialement une chaîne vide et définissez la variable d'astuce globale sur zéro. Supprimez tout contenu dû à l'exécution antérieure du programme et affichez une chaîne d'entrée à la place.
mon_étiquette = Étiquette (racine, texte="", police=("Ariel", 48), bg='aqua')
mon_étiquette.pack (pady=20)
définitivementbatteur():
hint_label.config (texte='')
mondial hint_count
hint_count = 0
entrée_réponse.supprimer(0, FIN)
answer_label.config (texte='', bg='aqua')
Définissez une liste de mots qui servira d'ensemble de données pour le jeu de mots mélangés. Sélectionnez un mot au hasard dans la liste et faites une liste de ses lettres individuelles. Mélangez la liste et reformez le mot en itérant dessus et en le stockant dans une chaîne. Affichez le mot confus via l'étiquette sur l'écran.
fruits = ['pomme', 'banane', 'fraise', 'pastèque', 'kiwi']
mondial mot
mot = choix (fruits)
break_apart_word = liste (mot)
mélanger (break_apart_word)
mondial mot_brouillé
mot_mélangé = ''pour lettre dans break_apart_word :
mot_brouillé += lettre
my_label.config (text=shuffled_word)
Essayez de charger un ensemble de mots à partir d'un fichier en tant qu'extension de ce projet. Le fichier dictionnaire—/usr/share/dict/words sous Linux/macOS—est une excellente source de mots.
Définir une fonction, répondre. Si le mot est égal à l'entrée de l'utilisateur, affichez un message gagnant en vert. Sinon, affichez qu'il s'agissait de la mauvaise réponse en rouge.
définitivementrépondre():
si mot == entry_answer.get() :
answer_label.config (texte="Bonne réponse!", bg='aqua', fg='vert')
autre:
answer_label.config (texte="Mauvaise réponse, veuillez réessayer.", bg='aqua', fg='rouge')
Définir une fonction, indice, pour inspecter le hint_count global. Si le compte est inférieur à la longueur du mot, affichez la lettre suivante de la bonne réponse. Incrémentez le nombre de lettres d'indice de sorte que la prochaine fois que la fonction s'exécutera, le programme affichera la lettre suivante.
définitivementindice(compter):
mondial hint_count
hint_count = compter
word_length = len (mot)
si compter < longueur_mot :
hint_label.config (texte=F'{hint_label["texte"]}{mot[nombre]}', bg='aqua')
hint_count += 1
Définissez un widget d'entrée pour recevoir l'entrée de l'utilisateur. Spécifiez la fenêtre parente dans laquelle vous souhaitez placer ce widget, ainsi que son style de police, et organisez-la en donnant un peu de rembourrage pour un espace suffisant.
Définissez un cadre pour les boutons. Un cadre agit comme un conteneur dirigeant le placement d'autres widgets. Il organise la mise en page et fournit un rembourrage à l'aide de sections rectangulaires à l'écran. Définissez la fenêtre parente dans laquelle vous souhaitez placer le cadre ainsi que la couleur d'arrière-plan.
entry_answer = Entrée (racine, font=("Ariel", 24))
entry_answer.pack (pady=20)
button_frame = Cadre (racine, bg='aqua')
button_frame.pack (pady=20)
Déclarez trois boutons: un pour afficher la bonne réponse, un pour choisir un autre mot, et l'autre pour afficher des indices. Spécifiez le cadre dans lequel vous souhaitez placer chaque bouton et le texte qu'il doit afficher. Transmettez également la fonction à exécuter lorsque l'utilisateur clique dessus, la couleur d'arrière-plan, la largeur et la taille de la police.
Utilisez le grille() gestionnaire de placer ces boutons sur une ligne et trois colonnes différentes. Vous pouvez spécifier un rembourrage pour ajouter de l'espace entre les boutons.
answer_button = Bouton (button_frame, text="Répondre", commande=réponse, bg='orange', largeur=8, police=10)
answer_button.grid (ligne=0, colonne=0, padx=10)my_button = Bouton (button_frame, text="Choisissez un autre mot", commande=mélangeur, bg='orange', largeur=15, police=10)
mon_bouton.grid (ligne=0, colonne=1, padx=10)
hint_button = Bouton (button_frame, text="Indice", commande=lambda: indice (nombre_indices), bg='orange', largeur=5, police=10)
hint_button.grid (ligne=0, colonne=2, padx=10)
Créez des étiquettes pour la réponse et l'indice. Spécifiez la fenêtre parent dans laquelle vous souhaitez placer les étiquettes, le texte qu'elle doit afficher et le style de police, et organisez-la à l'aide de paquet(). Passez une valeur de padding, paddy, pour un meilleur placement des étiquettes.
answer_label = Libellé (racine, text='', police=("Ariel", 22))
answer_label.pack (pady=20)
hint_label = Libellé (racine, texte='', police=("Ariel", 22), bg='aqua')
hint_label.pack (pady=10)
Appelez la fonction shuffler() pour configurer le jeu. Alors appelez boucle principale() pour exécuter la boucle d'événements Tkinter et écouter les événements (tels que les pressions sur les boutons) jusqu'à ce que vous fermiez la fenêtre.
batteur()
root.mainloop()
Rassemblez tout le code et jouez au Word Jumble Game n'importe quand, n'importe où.
Exemple de sortie du jeu Word Jumble
Lors de l'exécution du programme, il affiche un mot mélangé avec les boutons Answer, Pick Another Word et Hint. En cliquant sur le Indice bouton, le programme affiche les lettres de la bonne réponse une par une. Si vous entrez la bonne réponse, le programme affiche le message gagnant en vert.
Si vous devinez la mauvaise réponse, le programme vous demande de réessayer en rouge.
Jeux de mots utilisant Python
En utilisant Python, vous pouvez développer une gamme large et passionnante de jeux de mots. Les exemples incluent Scrabble, Hangman, mots croisés, Mad Libs et anagrammes. Ces jeux de mots peuvent être basés sur un terminal ou sur une interface graphique, comme vous l'avez vu ici.
Avec Tkinter, vous pouvez créer des jeux GUI très facilement. Tout ce que vous avez à faire est d'importer le module, de générer une fenêtre, d'ajouter des widgets et d'exécuter la boucle d'événement. Pour des jeux plus avancés, vous pouvez explorer les modules Pygame, Kivy et Panda 3D.