Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Jeśli szukasz rozrywki, zbieranie słów to dobra opcja, zarówno do zabawy, jak i do programowania. Oparta na module Tkinter Pythona, możesz tworzyć i grać w tę grę z dzieciństwa w wygodnej aplikacji GUI.

Program wyświetla pomieszane słowo, które należy uporządkować w oryginalnej formie. Jeśli utkniesz, możesz kliknąć przycisk podpowiedzi, aby odsłonić jedną literę na raz. Odgadnij słowo poprawnie i wygraj duże pieniądze!

Moduł Random i Tkinter

Moduł Random to wbudowany moduł Pythona służący do generowania liczb pseudolosowych. Dzięki temu możesz generować losowe liczby, wybierać losowe elementy z listy, tasować zawartość listy i nie tylko.

Ten moduł może pomóc w zbudowaniu kilku rodzajów aplikacji, w tym symulacji rzutu kostką, tasowania list lub generator losowych haseł. Możesz także użyć go do tworzenia gier, takich jak krykiet ręczny i odgadywanie liczb.

Tkinter umożliwia tworzenie aplikacji desktopowych. Oferuje różnorodne widżety, takie jak przyciski, etykiety i pola tekstowe, które ułatwiają tworzenie aplikacji. Aby zainstalować Tkintera, otwórz terminal i uruchom:

pip zainstaluj tkintera

Jak zbudować grę Word Jumble za pomocą Pythona

Możesz znaleźć kod źródłowy gry Word Jumble przy użyciu Pythona w tym Repozytorium GitHub.

Zaimportuj moduły Tkinter i Random. Zainicjuj instancję Tkinter i wyświetl okno główne. Ustaw wymiary w pikselach, tytuł i kolor tła okna.

z tkinter import *
z losowy import wybór
z losowy import człapać

pierwiastek = Tk()
root.tytuł(„Gra słowna”)
korzeń.geometry("700x500")
root.configure (tło='wodny')

Zdefiniuj widżet etykiety, aby wyświetlić pomieszane słowo. Określ okno nadrzędne, w którym chcesz je umieścić, tekst, który ma wyświetlać, styl czcionki i kolor tła. Uporządkuj widżet i dodaj do niego trochę wypełnienia.

Zdefiniuj funkcję, krętacz. Skonfiguruj etykietę podpowiedzi tak, aby początkowo wyświetlała pusty ciąg, i ustaw globalną zmienną podpowiedzi na zero. Usuń zawartość spowodowaną wcześniejszym wykonaniem programu i zamiast tego wyświetl ciąg wpisu.

moja_etykieta = Etykieta (główny, tekst ="", czcionka=(„Arial”, 48), bg='wodny')
moja_etykieta.paczka (pady=20)

pokkrętacz():
podpowiedź_etykieta.config (tekst='')
światowy liczba_wskazówek
liczba_wskazówek = 0
wpis_answer.delete(0, KONIEC)
answer_label.config (tekst='', bg='wodny')

Zdefiniuj listę słów, które będą służyć jako zbiór danych dla gry słownej. Wybierz losowe słowo z listy i sporządź listę jego poszczególnych liter. Potasuj listę i zmień słowo, powtarzając je i przechowując w ciągu. Wyświetl pomieszane słowo za pomocą etykiety na ekranie.

 owoce = ['jabłko', 'banan', 'truskawka', 'arbuz', 'kiwi']
światowy słowo
słowo = wybór (owoce)
break_apart_word = lista (słowo)
tasuj (break_apart_word)
światowy przetasowane_słowo
przemieszane_słowo = ''

Do list W rozbić_słowo:
przemieszane_slowo += litera

my_label.config (text=shuffled_word)

Spróbuj załadować zestaw słów z pliku jako rozszerzenie tego projektu. Plik słownika — /usr/share/dict/words w systemie Linux/macOS — jest doskonałym źródłem słów.

Zdefiniuj funkcję, odpowiedź. Jeśli słowo jest równe danemu wprowadzonemu przez użytkownika, wyświetl zwycięską wiadomość w kolorze zielonym. W przeciwnym razie wyświetl, że była to błędna odpowiedź w kolorze czerwonym.

pokodpowiedź():
Jeśli słowo == wpis_answer.get():
answer_label.config (tekst="Poprawna odpowiedź!", bg='wodny',fg='zielony')
w przeciwnym razie:
answer_label.config (tekst="Błędna odpowiedź, spróbuj ponownie.", bg='wodny',fg='czerwony')

Zdefiniuj funkcję, wskazówka, aby sprawdzić globalną liczbę wskazówek. Jeśli liczba jest mniejsza niż długość słowa, wyświetl następną literę poprawnej odpowiedzi. Zwiększ liczbę liter podpowiedzi, aby przy następnym uruchomieniu funkcji program wyświetlił następną literę.

pokwskazówka(liczyć):
światowy liczba_wskazówek
wskazówka_liczba = liczba
słowo_długość = długość (słowo)

Jeśli liczba < długość_słowa:
podpowiedź_etykieta.config (tekst=F'{hint_label["tekst"]}{Liczba słów]}', bg='wodny')
liczba_wskazówek += 1

Zdefiniuj widżet Entry, który pobiera dane od użytkownika. Określ okno nadrzędne, w którym chcesz umieścić ten widżet, wraz z jego stylem czcionki, i zorganizuj je, dodając trochę wypełnienia dla wystarczającej ilości miejsca.

Zdefiniuj ramkę dla przycisków. Ramka działa jak kontener kierujący rozmieszczeniem innych widżetów. Układa układ i zapewnia dopełnienie za pomocą prostokątnych sekcji na ekranie. Ustaw okno nadrzędne, w którym chcesz umieścić ramkę, wraz z kolorem tła.

entry_answer = Wpis (główny, czcionka=(„Arial”, 24))
wpis_answer.pack (pady=20)

button_frame = Ramka (root, bg='wodny')
button_frame.pack (pady=20)

Zadeklaruj trzy przyciski: jeden, aby wyświetlić poprawną odpowiedź, jeden, aby wybrać inne słowo, a drugi, aby wyświetlić wskazówki. Określ ramkę, w której chcesz umieścić każdy przycisk, oraz tekst, który ma wyświetlać. Przekaż również funkcję do uruchomienia, gdy użytkownik ją kliknie, kolor tła, szerokość i rozmiar czcionki.

Użyj siatka() menedżera, aby umieścić te przyciski w jednym wierszu i trzech różnych kolumnach. Możesz określić dopełnienie, aby dodać odstęp między przyciskami.

answer_button = Przycisk (ramka_przycisku, tekst="Odpowiedź", polecenie=odpowiedź, bg='Pomarańczowy', szerokość=8, czcionka=10)
answer_button.grid (wiersz=0, kolumna=0, padx=10)

mój_przycisk = Przycisk (ramka_przycisku, tekst=„Wybierz inne słowo”, polecenie=tasuj, bg='Pomarańczowy', szerokość=15, czcionka=10)
my_button.grid (wiersz=0, kolumna=1, padx=10)

podpowiedź_przycisk = Przycisk (ramka_przycisku, tekst="Wskazówka", polecenie=lambda: wskazówka (liczba_wskazówek), bg='Pomarańczowy', szerokość=5, czcionka=10)
podpowiedź_button.grid (wiersz=0, kolumna=2, padx=10)

Utwórz etykiety dla odpowiedzi i podpowiedzi. Określ okno nadrzędne, w którym chcesz umieścić etykiety, tekst, który ma wyświetlać oraz styl czcionki, a następnie zorganizuj je za pomocą Pakiet(). Przekaż wartość dopełnienia, pady, dla lepszego rozmieszczenia etykiet.

answer_label = Etykieta (główny, tekst='', czcionka=(„Arial”, 22))
answer_label.pack (pady=20)

hint_label = Etykieta (główny, tekst='', czcionka=(„Arial”, 22), bg='wodny')
podpowiedź_etykieta.paczka (pady=10)

Wywołaj funkcję shuffler(), aby ustawić grę. Wtedy zadzwoń główna pętla() aby uruchomić pętlę zdarzeń Tkintera i nasłuchiwać zdarzeń (takich jak naciśnięcia przycisków) do momentu zamknięcia okna.

krętacz()
root.mainloop()

Połącz cały kod i zagraj w Word Jumble Game w dowolnym miejscu i czasie.

Przykładowy wynik gry Word Jumble

Po uruchomieniu programu wyświetla przetasowane słowo wraz z przyciskami Odpowiedz, Wybierz inne słowo i Podpowiedź. Po kliknięciu Wskazówka program wyświetli kolejno litery poprawnej odpowiedzi. Jeśli wpiszesz poprawną odpowiedź, program wyświetli zwycięską wiadomość na zielono.

Jeśli odgadniesz błędną odpowiedź, program poprosi o ponowną próbę w kolorze czerwonym.

Gry słowne przy użyciu Pythona

Za pomocą Pythona możesz opracować szeroką i ekscytującą gamę gier słownych. Przykłady obejmują Scrabble, Hangman, krzyżówki, Mad Libs i anagramy. Te gry słowne mogą być oparte na terminalach lub GUI, jak widzieliście tutaj.

Dzięki Tkinter możesz bardzo łatwo tworzyć gry z graficznym interfejsem użytkownika. Wystarczy zaimportować moduł, wygenerować okno, dodać widżety i uruchomić pętlę zdarzeń. W przypadku bardziej zaawansowanych gier możesz zapoznać się z modułami Pygame, Kivy i Panda 3D.