Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Jei ieškote linksmo išsiblaškymo, žodžių kratinys yra geras pasirinkimas tiek žaisti, tiek programuoti. Naudodami Python Tkinter modulį, galite sukurti ir žaisti šį vaikystės žaidimą patogioje GUI programėlėje.

Programa rodo sumaišytą žodį, kurį reikia pertvarkyti į pradinę formą. Jei užstrigote, galite spustelėti mygtuką Užuomina, kad atskleistumėte vieną raidę. Teisingai atspėk žodį ir laimėk!

Atsitiktinis ir Tkinterio modulis

Atsitiktinis modulis yra įmontuotas Python modulis, naudojamas pseudoatsitiktiniams skaičiams generuoti. Naudodami tai galite generuoti atsitiktinius skaičius, pasirinkti atsitiktinius sąrašo elementus, maišyti sąrašo turinį ir dar daugiau.

Šis modulis gali padėti sukurti kelių tipų programas, įskaitant kauliukų metimo modeliavimą, sąrašų maišytuvą arba atsitiktinių slaptažodžių generatorius. Taip pat galite jį naudoti kurdami tokius žaidimus kaip rankinis kriketas ir skaičių spėjimas.

instagram viewer

„Tkinter“ leidžia kurti darbalaukio programas. Jame siūlomi įvairūs valdikliai, pvz., mygtukai, etiketės ir teksto laukeliai, kurie palengvina programų kūrimą. Norėdami įdiegti „Tkinter“, atidarykite terminalą ir paleiskite:

pip įdiegti tkinter

Kaip sukurti „Word Jumble“ žaidimą naudojant Python

„Word Jumble Game“ šaltinio kodą galite rasti naudodami Python GitHub saugykla.

Importuokite „Tkinter“ ir „Random“ modulius. Inicijuokite Tkinter egzempliorių ir parodykite šakninį langą. Nustatykite lango matmenis pikseliais, pavadinimą ir fono spalvą.

 tkinteris importuoti *
atsitiktinis importuoti pasirinkimas
atsitiktinis importuoti maišyti

šaknis = Tk()
root.title(„Žodžių maišymo žaidimas“)
root.geometry("700x500")
root.configure (background="vanduo")

Apibrėžkite etiketės valdiklį, kad būtų rodomas sumaišytas žodis. Nurodykite pagrindinį langą, kuriame norite jį įdėti, tekstą, kuris turi būti rodomas, šrifto stilių ir fono spalvą. Sutvarkykite valdiklį ir pridėkite šiek tiek užpildymo.

Apibrėžkite funkciją, maišytuvas. Sukonfigūruokite užuominos etiketę, kad iš pradžių būtų rodoma tuščia eilutė, o visuotinio užuominos kintamąjį nustatykite į nulį. Ištrinkite bet kokį turinį dėl programos vykdymo anksčiau ir vietoj jo parodykite įvesties eilutę.

my_label = Etiketė (šaknis, tekstas="", šriftas=("Arial", 48), bg="vanduo")
my_label.pack (pady=20)

defmaišytuvas():
hint_label.config (text='')
globalus užuominų_skaičius
užuominų_skaičius = 0
įrašo_atsakymas.delete(0, GALAS)
answer_label.config (text='', bg="vanduo")

Apibrėžkite žodžių, kurie bus naudojami kaip žodžių maišymo žaidimo duomenų rinkinys, sąrašą. Iš sąrašo pasirinkite atsitiktinį žodį ir sudarykite atskirų jo raidžių sąrašą. Maišykite sąrašą ir pakeiskite žodį, kartodami jį ir išsaugodami jį eilutėje. Rodyti sumaišytą žodį per etiketę ekrane.

 vaisiai = ['obuolys', "bananas", "braškė", "arbūzas", "kivi"]
globalus žodį
žodis = pasirinkimas (vaisiai)
break_apart_word = sąrašas (žodis)
maišyti (sulaužyti_žodį)
globalus sumaišytas_žodis
sumaišytas_žodis = ''

dėl laišką in break_apart_word:
sumaišytas_žodis += raidė

my_label.config (tekstas=sumaišytas_žodis)

Pabandykite įkelti žodžių rinkinį iš failo kaip šio projekto plėtinį. Žodyno failas –/usr/share/dict/words sistemoje „Linux“/macOS – yra puikus žodžių šaltinis.

Apibrėžkite funkciją, atsakyti. Jei žodis atitinka vartotojo įvestą žodį, tada parodykite laimėtą pranešimą žalia spalva. Kitu atveju raudona spalva parodykite, kad atsakymas buvo neteisingas.

defatsakyti():
jeigu žodis == enter_answer.get():
answer_label.config (text="Teisingas atsakymas!", bg="vanduo", fg='žalias')
Kitas:
answer_label.config (text="Neteisingas atsakymas, bandykite dar kartą.", bg="vanduo", fg='raudona')

Apibrėžkite funkciją, užuomina, norėdami patikrinti visuotinį užuominų_skaitį. Jei skaičius yra mažesnis nei žodžio ilgis, parodykite kitą teisingo atsakymo raidę. Padidinkite užuominos raidės skaičių, kad kitą kartą paleidus funkciją, programa parodytų kitą raidę.

defužuomina(skaičiuoti):
globalus užuominų_skaičius
hint_count = skaičius
žodžio_ilgis = len (žodis)

jeigu skaičiuoti < žodžio_ilgis:
hint_label.config (text=f'{užuomina_etiketė["tekstas"]}{žodžių skaičius]}', bg="vanduo")
užuominų_skaičius += 1

Apibrėžkite įrašo valdiklį, kad gautumėte vartotojo įvestį. Nurodykite pagrindinį langą, kuriame norite įdėti šį valdiklį, kartu su jo šrifto stiliumi ir sutvarkykite jį suteikdami tam tikrą užpildą, kad būtų pakankamai vietos.

Apibrėžkite mygtukų rėmelį. Rėmas veikia kaip konteineris, nurodantis kitų valdiklių vietą. Jis sutvarko išdėstymą ir suteikia užpildymą naudojant stačiakampes ekrano dalis. Nustatykite pagrindinį langą, kuriame norite įdėti rėmelį, kartu su fono spalva.

entry_answer = Įrašas (šaknis, šriftas=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Rėmas (šaknis, bg="vanduo")
button_frame.pack (pady=20)

Paskelbkite tris mygtukus: vienas rodo teisingą atsakymą, vienas - pasirinkti kitą žodį, o kitas - užuominas. Nurodykite rėmelį, į kurį norite įdėti kiekvieną mygtuką, ir tekstą, kuris turėtų būti rodomas. Taip pat perduokite funkciją, kad ji būtų paleista, kai vartotojas ją spustelėja, fono spalvą, plotį ir šrifto dydį.

Naudoti tinklelis () tvarkyklę, kad šie mygtukai būtų vienoje eilutėje ir trijuose skirtinguose stulpeliuose. Galite nurodyti užpildymą, kad tarp mygtukų būtų vietos.

answer_button = Mygtukas (button_frame, text="Atsakymas", komanda=atsakymas, bg="oranžinė", plotis=8, šriftas=10)
answer_button.grid (row=0, stulpelis=0, padx=10)

my_button = Mygtukas (button_frame, text=„Rinkis kitą žodį“, command=shuffler, bg="oranžinė", plotis=15, šriftas=10)
my_button.grid (row=0, stulpelis=1, padx=10)

hint_button = Mygtukas (button_frame, text="Užuomina", komanda=lambda: užuomina (užuominų_skaičius), bg="oranžinė", plotis=5, šriftas=10)
hint_button.grid (row=0, stulpelis=2, padx=10)

Sukurkite atsakymo ir užuominos etiketes. Nurodykite pagrindinį langą, kuriame norite įdėti etiketes, tekstą, kuris turi būti rodomas, ir šrifto stilių, ir sutvarkykite jį naudodami paketas(). Perduokite užpildymo vertę, pady, kad etiketės būtų geriau išdėstytos.

answer_label = Etiketė (šaknis, tekstas='', šriftas=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Etiketė (šaknis, tekstas='', šriftas=("Arial", 22), bg="vanduo")
hint_label.pack (pady=10)

Norėdami nustatyti žaidimą, paskambinkite funkcijai shuffler (). Tada paskambink mainloop () paleisti Tkinter įvykių kilpą ir klausytis įvykių (pvz., mygtukų paspaudimų), kol uždarysite langą.

maišytuvas ()
root.mainloop()

Sudėkite visą kodą ir žaiskite Word Jumble žaidimą bet kada ir bet kur.

Žodžių maišymo žaidimo išvesties pavyzdys

Paleidus programą, joje rodomas sumaišytas žodis kartu su mygtukais Atsakymas, Pasirinkite kitą žodį ir Užuomina. Spustelėjus Užuomina mygtuką, programa po vieną rodo teisingo atsakymo raides. Jei įvesite teisingą atsakymą, programa laimėjusį pranešimą rodo žalia spalva.

Jei atspėsite neteisingą atsakymą, programa paprašys pabandyti dar kartą raudona spalva.

Žodžių žaidimai naudojant Python

Naudodami Python galite sukurti daugybę įdomių žodžių žaidimų. Pavyzdžiai: Scrabble, Hangman, kryžiažodžiai, Mad Libs ir anagramos. Šie žodžių žaidimai gali būti pagrįsti terminalu arba GUI, kaip matėte čia.

Naudodami „Tkinter“ galite labai lengvai kurti GUI žaidimus. Viskas, ką jums reikia padaryti, tai importuoti modulį, sugeneruoti langą, pridėti valdiklius ir paleisti įvykio kilpą. Jei norite daugiau pažangių žaidimų, galite naršyti Pygame, Kivy ir Panda 3D modulius.