Ako tražite zabavu za smetnju, brbljanje riječi dobra je opcija, kako za igranje tako i za programiranje. Pokreće ga Python Tkinter modul, možete izgraditi i igrati ovu igru iz djetinjstva u prikladnoj GUI aplikaciji.
Program prikazuje zbrkanu riječ koju trebate preurediti u izvorni oblik. Ako ste zapeli, možete kliknuti gumb Savjet da biste otkrili jedno po jedno slovo. Pogodite točnu riječ i osvojite veliko!
Random i Tkinter modul
Random modul je ugrađeni Python modul koji se koristi za generiranje pseudo-slučajnih brojeva. Pomoću toga možete generirati nasumične brojeve, odabrati nasumične elemente s popisa, miješati sadržaj popisa i još mnogo toga.
Ovaj vam modul može pomoći u izradi nekoliko vrsta aplikacija, uključujući simulaciju bacanja kockica, miješanje popisa ili generator slučajnih lozinki. Također ga možete koristiti za stvaranje igara poput ručni cvrčak i pogađanje brojeva.
Tkinter vam omogućuje stvaranje desktop aplikacija. Nudi razne widgete kao što su gumbi, oznake i tekstualni okviri koji olakšavaju razvoj aplikacija. Da biste instalirali Tkinter, otvorite terminal i pokrenite:
pip instaliraj tkinter
Kako izgraditi igru Word Jumble koristeći Python
Ovdje možete pronaći izvorni kod Word Jumble Game koristeći Python GitHub spremište.
Uvezite Tkinter i Random module. Inicijalizirajte Tkinter instancu i prikažite korijenski prozor. Postavite dimenzije u pikselima, naslov i boju pozadine prozora.
iz tkinter uvoz *
iz slučajan uvoz izbor
iz slučajan uvoz miješati se
korijen = Tk()
root.title('Igra zbrke riječi')
root.geometry("700x500")
root.configure (background='aqua')
Definirajte widget oznake za prikaz pomiješane riječi. Odredite nadređeni prozor u koji ga želite smjestiti, tekst koji bi trebao prikazati, stil fonta i boju pozadine. Organizirajte widget i dodajte mu podlogu.
Definirajte funkciju, šufler. Konfigurirajte oznaku savjeta da na početku prikazuje prazan niz i postavite globalnu varijablu savjeta na nulu. Izbrišite sav sadržaj zbog ranijeg izvođenja programa i umjesto toga prikažite niz unosa.
my_label = Oznaka (korijen, tekst="", font=("Arial", 48), bg='aqua')
moja_oznaka.pack (pady=20)
defšufler():
hint_label.config (tekst='')
globalno hint_count
hint_count = 0
unos_odgovora.brisanje(0, KRAJ)
answer_label.config (tekst='', bg='aqua')
Definirajte popis riječi koje će poslužiti kao skup podataka za igru zbrke riječi. Odaberite slučajnu riječ s popisa i napravite popis njezinih pojedinačnih slova. Promiješajte popis i reformirajte riječ ponavljanjem preko nje i pohranjivanjem u niz. Prikaži pomiješanu riječ putem oznake na ekranu.
voće = ['jabuka', 'banana', 'jagoda', 'lubenica', 'kivi']
globalno riječ
riječ = izbor (voće)
break_apart_word = lista (riječ)
miješati (rastaviti_riječ)
globalno ispremiješana_riječ
ispremiješana_riječ = ''za pismo u rastaviti_riječ:
ispremiješana_riječ += slovo
my_label.config (tekst=promiješana_riječ)
Pokušajte učitati skup riječi iz datoteke kao proširenje ovog projekta. Datoteka rječnika—/usr/share/dict/words na Linuxu/macOS-u—izvrstan je izvor riječi.
Definirajte funkciju, odgovor. Ako je riječ jednaka korisničkom unosu, tada se pobjednička poruka prikazuje zelenom bojom. U suprotnom crvenom bojom prikažite da je to pogrešan odgovor.
defodgovor():
ako riječ == entry_answer.get():
answer_label.config (tekst="Točan odgovor!", bg='aqua', fg='zeleno')
drugo:
answer_label.config (tekst="Pogrešan odgovor, pokušajte ponovo.", bg='aqua', fg='Crvena')
Definirajte funkciju, savjet, da provjerite globalni hint_count. Ako je broj manji od duljine riječi, prikaži sljedeće slovo točnog odgovora. Povećajte broj slova savjeta tako da sljedeći put kada se funkcija pokrene, program će prikazati sljedeće slovo.
defsavjet(računati):
globalno hint_count
hint_count = broj
duljina_riječi = len (riječ)
ako broj < duljina_riječi:
hint_label.config (tekst=f'{hint_label["tekst"]}{Brojanje riječi]}', bg='aqua')
hint_count += 1
Definirajte widget Entry za primanje unosa od korisnika. Odredite nadređeni prozor u koji želite smjestiti ovaj widget, zajedno s njegovim stilom fonta i organizirajte ga tako što ćete dati malo podloge za dovoljno prostora.
Definirajte okvir za gumbe. Okvir djeluje kao spremnik koji usmjerava postavljanje drugih widgeta. Uređuje izgled i osigurava ispunu koristeći pravokutne dijelove na zaslonu. Postavite nadređeni prozor u koji želite postaviti okvir zajedno s bojom pozadine.
entry_answer = Unos (root, font=("Arial", 24))
entry_answer.pack (pady=20)
button_frame = Okvir (root, bg='aqua')
button_frame.pack (pady=20)
Odredite tri gumba: jedan za prikaz točnog odgovora, jedan za odabir druge riječi i drugi za prikaz savjeta. Odredite okvir u koji želite smjestiti svaki gumb i tekst koji bi trebao prikazati. Također proslijedite funkciju koja će se pokrenuti kada je korisnik klikne, boju pozadine, širinu i veličinu fonta.
Koristiti rešetka() upravitelja za postavljanje ovih gumba u jedan red i tri različita stupca. Možete odrediti ispunu da biste dodali razmak između gumba.
answer_button = Gumb (okvir_gumba, tekst="Odgovor", naredba=odgovor, bg='naranča', širina=8, font=10)
answer_button.grid (row=0, stupac=0, padx=10)my_button = Gumb (okvir_gumba, tekst="Odaberi drugu riječ", naredba=promješač, bg='naranča', širina=15, font=10)
my_button.grid (row=0, stupac=1, padx=10)
hint_button = Gumb (okvir_gumba, tekst="Savjet", naredba=lambda: savjet (broj_hint), bg='naranča', širina=5, font=10)
hint_button.grid (row=0, stupac=2, padx=10)
Napravite oznake za odgovor i savjet. Odredite nadređeni prozor u koji želite smjestiti oznake, tekst koji bi trebao prikazati i stil fonta te ga organizirajte pomoću paket(). Proslijedite vrijednost ispune, pady, radi boljeg postavljanja naljepnica.
answer_label = Oznaka (korijen, tekst='', font=("Arial", 22))
answer_label.pack (pady=20)
hint_label = Oznaka (korijen, tekst='', font=("Arial", 22), bg='aqua')
hint_label.pack (pady=10)
Pozovite funkciju shuffler() da postavite igru. Onda nazovi glavna petlja() za pokretanje Tkinterove petlje događaja i slušanje događaja (kao što su pritisci gumba) dok ne zatvorite prozor.
shuffler()
root.mainloop()
Sastavite sav kod i igrajte Word Jumble Game bilo kada i bilo gdje.
Primjer izlaza igre Word Jumble
Prilikom pokretanja programa, prikazuje ispremiješanu riječ zajedno s gumbima Odgovori, Odaberi drugu riječ i Savjet. Pritiskom na Savjet gumb, program prikazuje jedno po jedno slovo točnog odgovora. Ako unesete točan odgovor, program prikazuje pobjedničku poruku zelenom bojom.
Ako pogodite pogrešan odgovor, program vas crvenom bojom traži da pokušate ponovno.
Igre riječima koristeći Python
Pomoću Pythona možete razviti širok i uzbudljiv niz igara riječima. Primjeri uključuju Scrabble, Hangman, križaljke, Mad Libs i anagrame. Ove igre riječi mogu se temeljiti na terminalima ili GUI-u, kao što ste vidjeli ovdje.
S Tkinterom možete vrlo lako napraviti GUI igre. Sve što trebate učiniti je uvesti modul, generirati prozor, dodati widgete i pokrenuti petlju događaja. Za naprednije igre možete istražiti module Pygame, Kivy i Panda 3D.