Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Ak hľadáte zábavné rozptýlenie, hádzanie slov je dobrou voľbou na hranie aj na programovanie. Vďaka modulu Tkinter v Pythone môžete túto detskú hru zostaviť a hrať v pohodlnej GUI aplikácii.

Program zobrazí poprehadzované slovo, ktoré je potrebné preusporiadať do pôvodnej podoby. Ak ste uviazli, môžete kliknúť na tlačidlo Nápoveda, aby ste odkryli jedno písmeno po druhom. Uhádni správne slovo a vyhraj!

Modul Random a Tkinter

Modul Random je vstavaný modul Pythonu, ktorý sa používa na generovanie pseudonáhodných čísel. Pomocou toho môžete generovať náhodné čísla, vyberať náhodné prvky zo zoznamu, premiešať obsah zoznamu a podobne.

Tento modul vám môže pomôcť vytvoriť niekoľko typov aplikácií vrátane simulácie hodu kockou, miešania zoznamov alebo generátor náhodných hesiel. Môžete ho použiť aj na vytváranie hier ako ručný kriket a hádanie čísel.

Tkinter vám umožňuje vytvárať desktopové aplikácie. Ponúka množstvo miniaplikácií, ako sú tlačidlá, štítky a textové polia, ktoré uľahčujú vývoj aplikácií. Ak chcete nainštalovať Tkinter, otvorte terminál a spustite:

instagram viewer

pip nainštalovať tkinter

Ako vytvoriť slovnú zmätenú hru pomocou Pythonu

Zdrojový kód hry Word Jumble Game pomocou Pythonu nájdete v tomto úložisko GitHub.

Importujte moduly Tkinter a Random. Inicializujte inštanciu Tkinter a zobrazte koreňové okno. Nastavte rozmery v pixeloch, nadpis a farbu pozadia okna.

od tkinter importovať *
od náhodný importovať výber
od náhodný importovať zamiešať

koreň = Tk()
root.title(„Slovná hádzačka“)
root.geometry("700 x 500")
root.configure (pozadie='aqua')

Definujte miniaplikáciu menovky na zobrazenie premiešaného slova. Zadajte rodičovské okno, do ktorého ho chcete umiestniť, text, ktorý sa má zobraziť, štýl písma a farbu pozadia. Usporiadajte miniaplikáciu a pridajte do nej výplň.

Definujte funkciu, miešačka. Nakonfigurujte označenie rady tak, aby na začiatku zobrazovalo prázdny reťazec a nastavte premennú globálnej rady na nulu. Odstráňte všetok obsah kvôli skoršiemu spusteniu programu a namiesto toho zobrazte vstupný reťazec.

my_label = Označenie (koreň, text="", font=("Arial", 48), bg='aqua')
my_label.pack (pady=20)

defmiešačka():
hint_label.config (text='')
globálne hint_count
hint_count = 0
entry_answer.delete(0, KONIEC)
answer_label.config (text='', bg='aqua')

Definujte zoznam slov, ktoré budú slúžiť ako množina údajov pre hru so slovnou hádkou. Vyberte náhodné slovo zo zoznamu a vytvorte zoznam jeho jednotlivých písmen. Zamiešajte zoznam a zreformujte slovo jeho opakovaním a uložením do reťazca. Zobrazte neusporiadané slovo prostredníctvom štítku na obrazovke.

 ovocie = ['jablko', 'banán', 'jahoda', 'vodný melón', 'kiwi']
globálne slovo
slovo = výber (ovocie)
break_apart_word = zoznam (slovo)
zamiešať (rozdeliť_slovo)
globálne zamiešané_slovo
zamiešané_slovo = ''

pre list v break_apart_word:
zamiešané_slovo += písmeno

my_label.config (text=zamiešané_slovo)

Skúste načítať sadu slov zo súboru ako príponu tohto projektu. Súbor slovníka —/usr/share/dict/words v systéme Linux/macOS — je vynikajúcim zdrojom slov.

Definujte funkciu, odpoveď. Ak sa slovo rovná vstupu používateľa, zobrazí sa výherná správa v zelenej farbe. V opačnom prípade zobrazte, že to bola nesprávna odpoveď, červenou farbou.

defodpoveď():
ak slovo == entry_answer.get():
answer_label.config (text="Správna odpoveď!", bg='aqua', fg='zelená')
inak:
answer_label.config (text="Zlá odpoveď, skúste to znova.", bg='aqua', fg='červená')

Definujte funkciu, nápoveda, aby ste skontrolovali globálny počet hint_count. Ak je počet menší ako dĺžka slova, zobrazte ďalšie písmeno správnej odpovede. Zvýšte počet pomocného písmena tak, aby pri ďalšom spustení funkcie program zobrazil ďalšie písmeno.

defnápoveda(počet):
globálne hint_count
hint_count = počet
dĺžka_slova = len (slovo)

ak počet < dĺžka_slova:
hint_label.config (text=f'{hint_label["text"]}{počet slov]}', bg='aqua')
hint_count += 1

Definujte miniaplikáciu Entry, ktorá prevezme vstup od používateľa. Zadajte rodičovské okno, do ktorého chcete umiestniť túto miniaplikáciu, spolu s jej štýlom písma a usporiadajte ho tak, že mu poskytnete dostatok miesta.

Definujte rám pre tlačidlá. Rám funguje ako kontajner, ktorý riadi umiestnenie iných widgetov. Usporiada rozloženie a poskytuje výplň pomocou obdĺžnikových častí na obrazovke. Nastavte rodičovské okno, do ktorého chcete umiestniť rám, spolu s farbou pozadia.

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

button_frame = Rám (root, bg='aqua')
button_frame.pack (pady=20)

Vyhlásenie troch tlačidiel: jedno na zobrazenie správnej odpovede, jedno na výber iného slova a druhé na zobrazenie tipov. Zadajte rámček, do ktorého chcete umiestniť každé tlačidlo, a text, ktorý sa má zobraziť. Tiež odovzdajte funkciu, aby sa spustila, keď na ňu používateľ klikne, farbu pozadia, šírku a veľkosť písma.

Použi mriežka() správcu umiestniť tieto tlačidlá do jedného riadka a troch rôznych stĺpcov. Ak chcete pridať medzeru medzi tlačidlá, môžete určiť odsadenie.

answer_button = Tlačidlo (rámček_tlačidla, text="Odpovedať", príkaz=odpoveď, bg='oranžový', šírka=8, font=10)
answer_button.grid (riadok=0, stĺpec=0, padx=10)

my_button = Tlačidlo (rámček_tlačidla, text="Vyberte iné slovo", command=shuffler, bg='oranžový', šírka=15, font=10)
my_button.grid (riadok=0, stĺpec=1, padx=10)

hint_button = Tlačidlo (rámček_tlačidla, text="Nápoveda", príkaz=lambda: nápoveda (počet_nápovedy), bg='oranžový', šírka=5, font=10)
hint_button.grid (riadok=0, stĺpec=2, padx=10)

Vytvorte štítky pre odpoveď a nápovedu. Zadajte rodičovské okno, do ktorého chcete umiestniť štítky, text, ktorý sa má zobraziť, a štýl písma a usporiadajte ho pomocou balenie(). Zadajte hodnotu výplne, pady, pre lepšie umiestnenie štítkov.

answer_label = Označenie (koreň, text='', font=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Označenie (koreň, text='', font=("Arial", 22), bg='aqua')
hint_label.pack (pady=10)

Ak chcete nastaviť hru, zavolajte funkciu shuffler(). Potom zavolajte mainloop() na spustenie slučky udalostí Tkinter a počúvanie udalostí (ako sú stlačenia tlačidiel), kým nezatvoríte okno.

miešačka ()
root.mainloop()

Dajte celý kód dohromady a hrajte Word Jumble Game kedykoľvek a kdekoľvek.

Príklad výstupu slovnej hry na miešanie slov

Pri spustení programu sa zobrazí zamiešané slovo spolu s tlačidlami Odpoveď, Vybrať ďalšie slovo a Pomôcka. Po kliknutí na Nápoveda tlačidlo, program zobrazí písmená správnej odpovede jedno po druhom. Ak zadáte správnu odpoveď, program zobrazí výhernú správu zelenou farbou.

Ak uhádnete nesprávnu odpoveď, program vás vyzve, aby ste to skúsili znova červenou farbou.

Slovné hry využívajúce Python

Pomocou Pythonu môžete vyvinúť širokú a vzrušujúcu škálu slovných hier. Príklady zahŕňajú Scrabble, Hangman, krížovky, Mad Libs a anagramy. Tieto slovné hry môžu byť založené na termináli alebo na GUI, ako ste videli tu.

S Tkinterom môžete vytvárať GUI hry veľmi jednoducho. Všetko, čo musíte urobiť, je importovať modul, vygenerovať okno, pridať widgety a spustiť slučku udalostí. Pre pokročilejšie hry môžete preskúmať 3D moduly Pygame, Kivy a Panda.