A hozzád hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

Ha szórakoztató figyelemelterelésre vágyik, a szózavar jó választás játékhoz és programozáshoz egyaránt. A Python Tkinter moduljával megépítheted és játszhatod ezt a gyerekkori játékot egy kényelmes grafikus felhasználói felületen.

A program megjelenít egy összevissza szót, amelyet át kell rendeznie az eredeti formájába. Ha elakad, a Tipp gombra kattintva egyszerre csak egy betűt jeleníthet meg. Találd ki a szót helyesen, és nyerj nagyot!

A véletlenszerű és Tkinter modul

A Random modul egy beépített Python modul, amelyet pszeudo-véletlen számok generálására használnak. Ezzel véletlenszerű számokat generálhat, véletlenszerű elemeket választhat ki a listából, keverheti a listák tartalmát stb.

Ez a modul segíthet többféle alkalmazás létrehozásában, beleértve a kockadobás szimulációját, a listakeverőt vagy egy véletlenszerű jelszógenerátor. Használhatja olyan játékok létrehozására is, mint a kézi tücsök és a számkitalálás.

instagram viewer

A Tkinter lehetővé teszi az asztali alkalmazások létrehozását. Számos widgetet kínál, például gombokat, címkéket és szövegdobozokat, amelyek megkönnyítik az alkalmazások fejlesztését. A Tkinter telepítéséhez nyisson meg egy terminált, és futtassa:

pip install tkinter

Hogyan készítsünk Word Jumble játékot Python használatával

A Word Jumble Game forráskódját a Python segítségével találja meg ebben GitHub adattár.

Importálja a Tkinter és a Random modulokat. Inicializálja a Tkinter-példányt, és jelenítse meg a gyökérablakot. Állítsa be az ablak méretét pixelben, címét és háttérszínét.

tól től tkinter import *
tól től véletlen import választás
tól től véletlen import keverés

gyökér = Tk()
root.title("Szózavaró játék")
root.geometry("700x500")
root.configure (background="víz")

Határozzon meg egy címke widgetet az összekevert szó megjelenítéséhez. Adja meg a szülőablakot, amelybe el szeretné helyezni, a megjelenítendő szöveget, a betűtípus stílusát és a háttérszínt. Rendszerezze a widgetet, és adjon hozzá néhány kitöltést.

Határozzon meg egy függvényt, kertelő. Állítsa be a tippcímkét úgy, hogy kezdetben egy üres karakterlánc jelenjen meg, és állítsa nullára a globális tippváltozót. Töröljön minden tartalmat a program korábbi végrehajtása miatt, és jelenítsen meg helyette egy beviteli karakterláncot.

my_label = Címke (gyökér, szöveg="", font=("Arial", 48), bg="víz")
my_label.pack (pady=20)

defkertelő():
hint_label.config (text='')
globális hint_count
hint_count = 0
entry_answer.delete(0, VÉGE)
answer_label.config (text='', bg="víz")

Határozza meg azoknak a szavaknak a listáját, amelyek adatkészletként szolgálnak a szózavaros játékhoz. Válasszon ki egy véletlenszerű szót a listából, és készítsen listát az egyes betűiről. Keverje össze a listát, és reformálja meg a szót úgy, hogy ismételje meg, és tárolja egy karakterláncban. Jelenítse meg a zavaros szót a képernyőn megjelenő címkén keresztül.

 gyümölcsök = ['alma', 'banán', 'eper', 'görögdinnye', 'kiwi']
globális szó
szó = választás (gyümölcs)
break_apart_word = lista (szó)
keverés (szak_szó)
globális kevert_szó
kevert_szó = ''

számára levél ban ben break_apart_word:
kevert_szó += betű

my_label.config (szöveg=kevert_szó)

Próbáljon meg szavakat betölteni egy fájlból a projekt kiterjesztéseként. A szótárfájl – /usr/share/dict/words Linux/macOS rendszeren – kiváló szóforrás.

Határozzon meg egy függvényt, válasz. Ha a szó megegyezik a felhasználó által megadott értékkel, akkor zöld színben jelenítsen meg egy nyertes üzenetet. Ellenkező esetben piros színnel jelenítse meg, hogy rossz válasz volt.

defválasz():
ha szó == entry_answer.get():
answer_label.config (text="Helyes válasz!", bg="víz", fg='zöld')
más:
answer_label.config (text="Rossz válasz, próbáld újra.", bg="víz", fg='piros')

Határozzon meg egy függvényt, célzás, a globális hint_count ellenőrzéséhez. Ha a szám kisebb, mint a szó hossza, jelenítse meg a helyes válasz következő betűjét. Növelje a tipp betűk számát, hogy a függvény legközelebbi futásakor a program a következő betűt jelenítse meg.

defcélzás(számol):
globális hint_count
hint_count = szám
szó_hossza = len (szó)

ha count < szó_hossza:
hint_label.config (text=f'{hint_label["szöveg"]}{szavak száma]}', bg="víz")
hint_count += 1

Határozzon meg egy Bejegyzés widgetet, amely fogadja a felhasználó bemeneti adatait. Adja meg azt a szülőablakot, amelybe el szeretné helyezni ezt a widgetet, a betűstílusával együtt, és rendezze úgy, hogy elegendő helyet biztosít.

Határozzon meg egy keretet a gombokhoz. A keret tárolóként működik, amely irányítja a többi widget elhelyezését. Elrendezi az elrendezést, és a képernyő téglalap alakú részeinek segítségével párnázást biztosít. Állítsa be a szülőablakot, amelybe a keretet el szeretné helyezni, a háttérszínnel együtt.

entry_answer = Bejegyzés (gyökér, font=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Keret (gyökér, bg="víz")
button_frame.pack (pady=20)

Jelöljön ki három gombot: az egyik a helyes válasz megjelenítéséhez, az egyik egy másik szó kiválasztásához, a másik pedig a tippek megjelenítéséhez. Adja meg azt a keretet, amelybe az egyes gombokat el szeretné helyezni, és azt a szöveget, amelyet meg kell jelenítenie. Adja át a funkciót, hogy a felhasználó rákattintva fusson, a háttér színét, szélességét és betűméretét.

Használja a rács() kezelője, hogy ezeket a gombokat egy sorban és három különböző oszlopban helyezze el. Megadhatja a kitöltést, hogy helyet adjon a gombok között.

answer_button = Gomb (button_frame, text="Válasz", parancs=válasz, bg='narancs', szélesség=8, font=10)
answer_button.grid (sor=0, oszlop=0, padx=10)

my_button = Gomb (button_frame, text="Válassz másik szót", command=shuffler, bg='narancs', szélesség=15, font=10)
my_button.grid (sor=0, oszlop=1, padx=10)

hint_button = Gomb (button_frame, text="Célzás", parancs=lambda: tipp (hint_count), bg='narancs', szélesség=5, font=10)
hint_button.grid (sor=0, oszlop=2, padx=10)

Hozzon létre címkéket a válaszhoz és a tipphez. Adja meg a szülőablakot, amelybe el szeretné helyezni a címkéket, a megjelenítendő szöveget és a betűtípus stílusát, és rendezze csomag(). Adjon meg egy kitöltési értéket, pady, a címkék jobb elhelyezése érdekében.

answer_label = Címke (gyökér, szöveg='', font=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Címke (gyökér, szöveg='', font=("Arial", 22), bg="víz")
hint_label.pack (pady=10)

Hívja a shuffler() függvényt a játék beállításához. Akkor hívj mainloop() a Tkinter eseményhurok futtatásához és az események (például gombnyomások) figyeléséhez, amíg be nem zárja az ablakot.

kertelő()
root.mainloop()

Helyezze össze az összes kódot, és játsszon a Word Jumble Game-vel bármikor, bárhol.

Példa a Word Jumble Game kimenetére

A program futtatásakor egy kevert szót jelenít meg a Válasz, a Válassz másik szót és a Tipp gombokkal együtt. A gombra kattintva Célzás gombot, a program egyenként megjeleníti a helyes válasz betűit. A helyes válasz megadása esetén a program zöld színnel jeleníti meg a nyertes üzenetet.

Ha rossz választ talál, a program kéri, hogy próbálja újra piros színnel.

Szójátékok Python használatával

A Python segítségével szójátékok széles és izgalmas skáláját fejlesztheti ki. Ilyenek például a Scrabble, a Hangman, a keresztrejtvények, a Mad Libs és az anagrammák. Ezek a szójátékok lehetnek terminálalapúak vagy grafikus felhasználói felület alapúak, amint azt itt láthatta.

A Tkinter segítségével nagyon egyszerűen készíthet GUI játékokat. Mindössze annyit kell tennie, hogy importálja a modult, létrehoz egy ablakot, hozzáadja a widgeteket, és futtatja az eseményhurkot. Fejlettebb játékokhoz felfedezheti a Pygame, Kivy és Panda 3D modulokat.