Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Dacă sunteți în căutarea unei distrageri distractive, amestecul de cuvinte este o opțiune bună, atât pentru a juca, cât și pentru a programa. Cu ajutorul modulului Tkinter de la Python, puteți construi și juca acest joc din copilărie într-o aplicație GUI convenabilă.

Programul afișează un cuvânt amestecat pe care trebuie să-l rearanjați în forma sa originală. Dacă sunteți blocat, puteți face clic pe butonul Sugestie pentru a dezvălui câte o literă. Ghiciți cuvântul corect și câștigați mare!

Modulul Random și Tkinter

Modulul Random este un modul Python încorporat folosit pentru generarea de numere pseudoaleatoare. Cu aceasta, puteți genera numere aleatorii, alege elemente aleatorii dintr-o listă, amestecați conținutul unei liste și multe altele.

Acest modul vă poate ajuta să construiți mai multe tipuri de aplicații, inclusiv o simulare de aruncare a zarurilor, un amestecător de liste sau un

instagram viewer
generator de parole aleatorii. De asemenea, îl puteți folosi pentru a crea jocuri precum greier de mână și ghicirea numărului.

Tkinter vă permite să creați aplicații desktop. Oferă o varietate de widget-uri, cum ar fi butoane, etichete și casete de text, care facilitează dezvoltarea aplicațiilor. Pentru a instala Tkinter, deschideți un terminal și rulați:

pip install tkinter

Cum să construiești jocul Word Jumble folosind Python

Puteți găsi codul sursă al jocului Word Jumble folosind Python aici Depozitul GitHub.

Importați modulele Tkinter și Random. Inițializați instanța Tkinter și afișați fereastra rădăcină. Setați dimensiunile în pixeli, titlul și culoarea de fundal a ferestrei.

din tkinter import *
din Aleatoriu import alegere
din Aleatoriu import amesteca

rădăcină = Tk()
root.title(„Joc cu amestec de cuvinte”)
root.geometry(„700x500”)
root.configure (background=„aqua”)

Definiți un widget de etichetă pentru a afișa cuvântul amestecat. Specificați fereastra părinte în care doriți să o plasați, textul pe care ar trebui să-l afișeze, stilul fontului și culoarea de fundal. Organizați widget-ul și adăugați-i niște umplutură.

Definiți o funcție, amestecător. Configurați eticheta indiciu pentru a afișa inițial un șir gol și setați variabila indiciu global la zero. Ștergeți orice conținut din cauza execuției programului mai devreme și afișați în schimb un șir de intrare.

my_label = Etichetă (rădăcină, text="", font=("Arial", 48), bg=„aqua”)
my_label.pack (pady=20)

defamestecător():
hint_label.config (text='')
global hint_count
hint_count = 0
entry_answer.delete(0, SFÂRŞIT)
answer_label.config (text='', bg=„aqua”)

Definiți o listă de cuvinte care vor servi drept set de date pentru jocul de cuvinte amestecate. Selectați un cuvânt aleatoriu din listă și faceți o listă cu literele sale individuale. Amestecați lista și reformați cuvântul iterând peste el și stocându-l într-un șir. Afișați cuvântul amestecat prin eticheta de pe ecran.

 fructe = ['măr', 'banană', 'căpșună', 'pepene', 'kiwi']
global cuvânt
cuvânt = alegere (fructe)
break_apart_word = listă (cuvânt)
amestecare (break_apart_word)
global cuvânt_ amestecat
suffled_word = ''

pentru scrisoare în break_apart_word:
suffled_word += literă

my_label.config (text=suffled_word)

Încercați să încărcați un set de cuvinte dintr-un fișier ca extensie a acestui proiect. Fișierul dicționar-/usr/share/dict/words pe Linux/macOS-este o sursă excelentă de cuvinte.

Definiți o funcție, Răspuns. Dacă cuvântul este egal cu introducerea de către utilizator, atunci afișați un mesaj câștigător în culoarea verde. În caz contrar, afișați în culoare roșie că a fost răspunsul greșit.

defRăspuns():
dacă cuvânt == entry_answer.get():
answer_label.config (text="Răspuns corect!", bg=„aqua”, fg='verde')
altfel:
answer_label.config (text="Răspuns greșit, vă rugăm să încercați din nou.", bg=„aqua”, fg='roșu')

Definiți o funcție, aluzie, pentru a inspecta hint_count global. Dacă numărul este mai mic decât lungimea cuvântului, afișați următoarea literă a răspunsului corect. Creșteți numărul literei indicii, astfel încât data viitoare când funcția rulează, programul va afișa următoarea literă.

defaluzie(numara):
global hint_count
hint_count = numărare
lungime_cuvânt = len (cuvânt)

dacă numărare < lungime_cuvânt:
hint_label.config (text=f'{hint_label["text"]}{număr de cuvinte]}', bg=„aqua”)
hint_count += 1

Definiți un widget de intrare pentru a prelua intrarea de la utilizator. Specificați fereastra părinte în care doriți să plasați acest widget, împreună cu stilul său de font și organizați-o oferind o umplutură pentru spațiu amplu.

Definiți un cadru pentru butoane. Un cadru acționează ca un container care direcționează plasarea altor widget-uri. Aranjează aspectul și oferă umplutură folosind secțiuni dreptunghiulare pe ecran. Setați fereastra părinte în care doriți să plasați cadrul împreună cu culoarea de fundal.

entry_answer = Intrare (rădăcină, font=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Cadru (rădăcină, bg=„aqua”)
button_frame.pack (pady=20)

Declarați trei butoane: unul pentru a afișa răspunsul corect, unul pentru a alege un alt cuvânt și celălalt pentru a afișa sugestii. Specificați cadrul în care doriți să plasați fiecare buton și textul pe care ar trebui să-l afișeze. De asemenea, treceți funcția pentru a rula când utilizatorul face clic pe ea, culoarea de fundal, lățimea și dimensiunea fontului.

Folosește grilă() manager pentru a plasa aceste butoane pe un rând și trei coloane diferite. Puteți specifica umplutură pentru a adăuga spațiu între butoane.

answer_button = Buton (button_frame, text="Răspuns", comandă=răspuns, bg='portocale', latime=8, font=10)
answer_button.grid (rând=0, coloana=0, padx=10)

my_button = Buton (button_frame, text=„Alege un alt cuvânt”, comandă=shuffler, bg='portocale', latime=15, font=10)
my_button.grid (rând=0, coloana=1, padx=10)

hint_button = Buton (button_frame, text="Aluzie", comanda=lambda: indiciu (număr_hint), bg='portocale', latime=5, font=10)
hint_button.grid (rând=0, coloana=2, padx=10)

Creați etichete pentru răspuns și indiciu. Specificați fereastra părinte în care doriți să plasați etichetele, textul pe care ar trebui să-l afișeze și stilul fontului și organizați-o folosind ambalaj(). Transmite o valoare de umplutură, pady, pentru o mai bună plasare a etichetelor.

answer_label = Etichetă (rădăcină, text='', font=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Etichetă (rădăcină, text='', font=("Arial", 22), bg=„aqua”)
hint_label.pack (pady=10)

Apelați funcția shuffler() pentru a configura jocul. Apoi sună mainloop() pentru a rula bucla de evenimente Tkinter și pentru a asculta evenimente (cum ar fi apăsările de butoane) până când închideți fereastra.

shuffler()
root.mainloop()

Pune tot codul împreună și joacă jocul Word Jumble oricând și oriunde.

Exemplu de ieșire a jocului Word Jumble

La rularea programului, acesta afișează un cuvânt amestecat împreună cu butoanele Răspuns, Alegeți un alt cuvânt și Sugestie. Făcând clic pe Aluzie butonul, programul afișează literele răspunsului corect unul câte unul. Dacă introduceți răspunsul corect, programul afișează mesajul câștigător în verde.

Dacă ghiciți răspunsul greșit, programul vă cere să încercați din nou în culoare roșie.

Jocuri de cuvinte folosind Python

Folosind Python, puteți dezvolta o gamă largă și interesantă de jocuri de cuvinte. Exemplele includ Scrabble, Hangman, cuvinte încrucișate, Mad Libs și anagrame. Aceste jocuri de cuvinte pot fi bazate pe terminale sau pe GUI, așa cum ați văzut aici.

Cu Tkinter, puteți crea jocuri GUI foarte ușor. Tot ce trebuie să faceți este să importați modulul, să generați o fereastră, să adăugați widget-uri și să rulați bucla de evenimente. Pentru jocuri mai avansate, puteți explora modulele 3D Pygame, Kivy și Panda.