Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Pokud hledáte zábavné rozptýlení, slovní změť je dobrá volba, jak hrát, tak programovat. Díky modulu Tkinter v Pythonu můžete tuto hru z dětství sestavit a hrát v pohodlné aplikaci GUI.

Program zobrazí neuspořádané slovo, které je třeba přeskupit do původní podoby. Pokud jste uvízli, můžete kliknout na tlačítko Nápověda a odhalit jedno písmeno po druhém. Uhodněte slovo správně a vyhrajte!

Modul Random a Tkinter

Modul Random je vestavěný modul Pythonu používaný pro generování pseudonáhodných čísel. Díky tomu můžete generovat náhodná čísla, vybírat náhodné prvky ze seznamu, zamíchat obsah seznamu a další.

Tento modul vám může pomoci vytvořit několik typů aplikací, včetně simulace hodu kostkou, míchání seznamů nebo generátor náhodných hesel. Můžete jej také použít k vytváření her jako ruční kriket a hádání čísel.

Tkinter vám umožňuje vytvářet desktopové aplikace. Nabízí řadu widgetů, jako jsou tlačítka, štítky a textová pole, které usnadňují vývoj aplikací. Chcete-li nainstalovat Tkinter, otevřete terminál a spusťte:

instagram viewer

pip nainstalovat tkinter

Jak vytvořit slovní zkomolenou hru pomocí Pythonu

Zdrojový kód Word Jumble Game pomocí Pythonu najdete v tomto úložiště GitHub.

Importujte moduly Tkinter a Random. Inicializujte instanci Tkinter a zobrazte kořenové okno. Nastavte rozměry v pixelech, nadpis a barvu pozadí okna.

z tkinter import *
z náhodný import výběr
z náhodný import zamíchat

kořen = Tk()
root.title('Hra se slovní hádkou')
root.geometry("700x500")
root.configure (pozadí='aqua')

Definujte widget štítku pro zobrazení neuspořádaného slova. Určete nadřazené okno, do kterého jej chcete umístit, text, který má zobrazovat, styl písma a barvu pozadí. Uspořádejte widget a přidejte do něj nějaké odsazení.

Definujte funkci, míchačka. Nakonfigurujte popisek nápovědy tak, aby zpočátku zobrazoval prázdný řetězec, a nastavte proměnnou globální nápovědy na nulu. Odstraňte veškerý obsah kvůli dřívějšímu spuštění programu a místo toho zobrazte vstupní řetězec.

my_label = Štítek (kořen, text="", font=("Arial", 48), bg='aqua')
my_label.pack (pady=20)

defmíchačka():
hint_label.config (text='')
globální počet_nápověd
hint_count = 0
entry_answer.delete(0, KONEC)
answer_label.config (text='', bg='aqua')

Definujte seznam slov, která budou sloužit jako datová sada pro hru slovní změti. Vyberte náhodné slovo ze seznamu a vytvořte seznam jeho jednotlivých písmen. Zamíchejte seznam a reformujte slovo jeho opakováním a uložením do řetězce. Zobrazte neuspořádané slovo pomocí štítku na obrazovce.

 ovoce = ['jablko', 'banán', 'jahoda', 'vodní meloun', 'kiwi']
globální slovo
slovo = výběr (ovoce)
break_apart_word = seznam (slovo)
zamíchat (rozdělit_slovo)
globální zamíchané_slovo
zamíchané_slovo = ''

pro dopis v break_apart_word:
zamíchané_slovo += písmeno

my_label.config (text=zamíchané_slovo)

Zkuste načíst sadu slov ze souboru jako příponu tohoto projektu. Soubor slovníku —/usr/share/dict/words na Linuxu/macOS — je vynikajícím zdrojem slov.

Definujte funkci, Odpovědět. Pokud se slovo rovná zadání uživatele, zobrazí se výherní zpráva v zelené barvě. V opačném případě zobrazte červenou barvou, že to byla špatná odpověď.

defOdpovědět():
-li slovo == entry_answer.get():
answer_label.config (text="Správná odpověď!", bg='aqua', fg='zelená')
jiný:
answer_label.config (text="Špatná odpověď, zkuste to prosím znovu.", bg='aqua', fg='Červené')

Definujte funkci, náznak, abyste si prohlédli globální hint_count. Pokud je počet menší než délka slova, zobrazte další písmeno správné odpovědi. Zvyšte počet pomocného písmene tak, aby při příštím spuštění funkce program zobrazil další písmeno.

defnáznak(počet):
globální počet_nápověd
hint_count = počet
délka_slova = len (slovo)

-li počet < délka_slova:
hint_label.config (text=F'{hint_label["text"]}{počet slov]}', bg='aqua')
hint_count += 1

Definujte widget Entry, který přebírá vstup od uživatele. Určete nadřazené okno, do kterého chcete umístit tento widget, spolu s jeho stylem písma, a uspořádejte ho tak, že mu poskytnete dostatek místa.

Definujte rámeček pro tlačítka. Rámeček funguje jako kontejner, který řídí umístění dalších widgetů. Uspořádá rozvržení a poskytuje výplň pomocí obdélníkových částí na obrazovce. Nastavte rodičovské okno, do kterého chcete rámeček umístit, spolu s barvou pozadí.

entry_answer = Záznam (kořen, font=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Rámec (kořen, bg='aqua')
button_frame.pack (pady=20)

Deklarujte tři tlačítka: jedno pro zobrazení správné odpovědi, jedno pro výběr jiného slova a druhé pro zobrazení nápovědy. Určete rámeček, do kterého chcete každé tlačítko umístit, a text, který má zobrazovat. Také předejte funkci ke spuštění, když na ni uživatel klepne, barvu pozadí, šířku a velikost písma.

Použijte mřížka() správce umístit tato tlačítka do jednoho řádku a tří různých sloupců. Pro přidání mezery mezi tlačítka můžete určit odsazení.

answer_button = Tlačítko (button_frame, text="Odpovědět", command=answer, bg='oranžový', šířka=8, font=10)
answer_button.grid (row=0, sloupec=0, padx=10)

my_button = Tlačítko (button_frame, text="Vyberte jiné slovo", command=shuffler, bg='oranžový', šířka=15, font=10)
my_button.grid (row=0, sloupec=1, padx=10)

hint_button = Tlačítko (rámeček_tlačítka, text="Náznak", příkaz=lambda: nápověda (počet_nápověd), bg='oranžový', šířka=5, font=10)
hint_button.grid (řádek=0, sloupec=2, padx=10)

Vytvořte štítky pro odpověď a nápovědu. Určete nadřazené okno, do kterého chcete štítky umístit, text, který se má zobrazovat, a styl písma, a uspořádejte jej pomocí balíček(). Předat hodnotu výplně, pady, pro lepší umístění štítků.

answer_label = Štítek (kořen, text='', font=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Štítek (kořen, text='', font=("Arial", 22), bg='aqua')
hint_label.pack (pady=10)

Zavolejte funkci shuffler() pro nastavení hry. Pak zavolej mainloop() spustit smyčku událostí Tkinter a naslouchat událostem (jako je stisknutí tlačítek), dokud nezavřete okno.

míchačka()
root.mainloop()

Dejte celý kód dohromady a hrajte Word Jumble Game kdykoli a kdekoli.

Příklad výstupu hry Word Jumble

Při spuštění programu se zobrazí zamíchané slovo spolu s tlačítky Odpověď, Vybrat další slovo a Nápověda. Po kliknutí na Náznak tlačítko, program zobrazí písmena správné odpovědi jedno po druhém. Pokud zadáte správnou odpověď, program zobrazí výherní zprávu zeleně.

Pokud uhodnete špatnou odpověď, program vás požádá, abyste to zkusili znovu červenou barvou.

Slovní hry používající Python

Pomocí Pythonu můžete vyvinout širokou a vzrušující řadu slovních her. Příklady zahrnují Scrabble, Hangman, křížovky, Mad Libs a přesmyčky. Tyto slovní hry mohou být založené na terminálu nebo na GUI, jak jste viděli zde.

S Tkinterem můžete vytvářet GUI hry velmi snadno. Jediné, co musíte udělat, je importovat modul, vygenerovat okno, přidat widgety a spustit smyčku událostí. Pro pokročilejší hry můžete prozkoumat 3D moduly Pygame, Kivy a Panda.