Battlefield2, World of Tanks, The Sims4 i Freedom Force to tylko kilka z tysięcy niesamowitych gier stworzonych w języku Python.
Tkinter, standardowy interfejs Pythona do zestawu narzędzi Tk GUI, to potężny moduł, który sprawia, że tworzenie graficznych interfejsów użytkownika jest łatwe i przyjemne. Skorzystaj z tego modułu, aby opracować zaskakującą grę kolorów. Dowiedz się także, jak korzystać z modułu po drodze.
Czym jest gra kolorów?
W grze w kolory program wyświetla nazwę koloru na ekranie, ale innym kolorem czcionki. Na przykład wyświetla słowo Żółty używając czerwonego koloru czcionki, a gracz musi wpisać kolor tekstu.
Ta niezgodność informacji wraz z licznikiem czasu powoduje wiele zamieszania i zapewnia zabawne wrażenia z gry.
Moduł Tkinter i Random
Aby zbudować grę kolorów, użyjesz tkinter moduł i losowy moduł. Tkinter to wieloplatformowy, prosty i przyjazny dla użytkownika moduł GUI, którego można używać do szybkiego tworzenia graficznych interfejsów użytkownika.
Ma kilka przydatnych narzędzi, takich jak widżety etykiet i wpisów oraz menedżery układu, takie jak paczka, siatka i miejsce. Udostępnione funkcje są dość proste, co ułatwia początkującym programistom projektowanie aplikacji bez większego wysiłku. Aby zainstalować tkinter w swoim systemie, uruchom następującą komendę w terminalu:
pip install tkinter
Moduł losowy to wbudowana biblioteka, za pomocą której można generować losowe wybory. Korzystając z tego modułu, możesz tworzyć gry w krykieta ręcznego, gry polegające na odgadywaniu liczb, gry z magiczną ósemką, generatory losowych haseł i wiele innych.
Jak zbudować grę kolorów za pomocą Pythona
Kod źródłowy Color Game jest dostępny w repozytorium GitHub i można go bezpłatnie używać na licencji MIT.
Zacznij od zaimportowania modułu tkinter i random. Zapisz nazwy kolorów jako listę łańcuchów i zainicjuj plik wynik zmienna na 0 i pozostały czas do 60.
from tkinter import *
import randomcolours = ['Red', 'Green', 'Blue', 'Black', 'Pink', 'White', 'Purple', 'Yellow', 'Brown']
score = 0
time_remaining = 60
Zdefiniuj funkcję o nazwie RozpocznijGrę() to trwa wydarzenie jako argument wejściowy. Funkcja wykonuje dwa zadania. Najpierw sprawdza, czy pozostały czas równa się 60. Jeśli tak, wywołuje i wykonuje odliczanie() funkcjonować. Po drugie, nazywa następny kolor() funkcja, która losowo tasuje i wyświetla kolor oraz wynik w trakcie gry.
def beginGame(event):
if time_remaining == 60:
countdown()
nextColour()
Zdefiniuj funkcję o nazwie następnyKolor() i globalnie odwołuj się do zmiennych. Jeśli pozostały czas jest większy niż 0, ustaw fokus na polu wprowadzania za pomocą focus_set() metoda na etykiecie wpisu (przechowywanej w zmiennej mi) zdefiniowane w dalszej części kodu.
Użyj Dostawać() metody, aby pobrać bieżący tekst wpisu jako ciąg znaków i zamienić go na małe litery, aby uniknąć niezgodności wielkości liter. Jeśli odpowiada to kolorowi wyświetlanemu na ekranie, zwiększ wynik o jeden. Użyj usuwać() funkcję od 0 do ostatniego indeksu na widżecie wpisu, aby wyczyścić zawartość.
def nextColour():
global score
global time_remaining
if time_remaining > 0:
e.focus_set()
if e.get().lower() == colours[1].lower():
score += 1
e.delete(0, END)
Użyj człapać() służy do zmiany kolejności elementów na liście i wyświetlania etykiety koloru z tekstem jako pierwszym kolorem na liście i kolorem czcionki jako drugim kolorem na liście. Użyj konfiguracja() funkcja włączona Etykieta wyniku (która prosi o naciśnięcie Enter), aby wyświetlić wynik podczas gry.
random.shuffle(colours)
label.config(fg=str(colours[1]), text=str(colours[0]))
scoreLabel.config(text="Score: " + str(score))
Zdefiniuj funkcję o nazwie odliczanie() która odwołuje się do zmiennej pozostałego czasu i zmniejsza ją o jeden. Użyj konfiguracja() funkcja na Etykieta czasu aby wyświetlić pozostały czas na ekranie i Po() funkcja do wywołania zwrotnego odliczanie funkcja po opóźnieniu 1000 milisekund lub jednej sekundy.
def countdown():
global time_remaining
if time_remaining > 0:
time_remaining -= 1
timeLabel.config(text="Time left: " + str(time_remaining))
timeLabel.after(1000, countdown)
Zainicjuj instancję tkintera i wyświetl okno główne. Ustaw tytuł, wymiary w pikselach i kolor tła okna.
root = Tk()
root.title("Color Game With a Twist")
root.geometry("750x450")
root.configure(background='Orange')
Użyj Etykieta widżet instruujący gracza o instrukcji gry. Akceptuje okno nadrzędne, w którym chcesz je umieścić. W tekście należy podać rodzaj i rozmiar czcionki oraz kolor tła etykiety. Użyj Pakiet() funkcję organizowania widżetu etykiety w bloki przed umieszczeniem ich w widgecie nadrzędnym.
Podobnie zdefiniuj etykietę partytury, aby poinstruować użytkownika, aby naciskał Wchodzić aby rozpocząć grę, a także etykietę czasu, aby wyświetlić pozostały czas. Upewnij się, że wszystkie etykiety mają pomarańczowy kolor tła, aby wtapiały się w tło. Zdefiniuj pustą etykietę, która będzie zawierać nazwy kolorów w pliku następnyKolor() funkcjonować.
instructions = Label(root, text="Type the colour of the word not the text ;)", font=('Arial', 24), bg="orange")
instructions.pack()
scoreLabel = Label(root, text="Press Enter to begin", font=('Arial', 24), bg="orange")
scoreLabel.pack()
timeLabel = Label(root, text="Time remaining: " + str(time_remaining), font=('Arial', 24), bg="orange")
timeLabel.pack()
label = Label(root, font=('Arial', 90), bg="orange")
Jak wspomniano wcześniej, użyj widżetu wejścia, aby przechwycić odpowiedź gracza. Ważnym krokiem jest powiązanie klawisza Enter ze zdarzeniem w oknie tkintera, tak aby po naciśnięciu go przez gracza została wykonana określona funkcja.
Aby to osiągnąć, należy przekazać
e = Entry(font=20)
root.bind('<Return>', beginGame)
e.pack()
e.focus_set()
The główna pętla() mówi Pythonowi, aby uruchomił pętlę zdarzeń tkinter i nasłuchiwał zdarzeń (takich jak naciśnięcia przycisków), dopóki nie zamkniesz okna.
root.mainloop()
Połącz cały kod i masz grę kolorów z niespodzianką, gotową do gry na wyciągnięcie ręki.
Wynik gry w kolory przy użyciu Pythona
Po uruchomieniu programu Color Game na ekranie pojawia się okno. Po naciśnięciu Enter rozpoczyna się odliczanie, a gracz musi zacząć wpisywać kolor słowa. Za każdą poprawną odpowiedź wynik zwiększa się o jeden, a na końcu wyświetla wynik końcowy.
Tworzenie gier przy użyciu Pythona
Python to fantastyczny język do tworzenia gier. Język jest nie tylko łatwy do zrozumienia i użycia, ale także umożliwia twórcom gier na wszystkich poziomach doświadczenia tworzenie oszałamiających światów gier, które są interesujące i zabawne.
Dodatkowo, twórcy mają szerokie możliwości wcielania pomysłów w życie dzięki różnym dostępnym na rynku platformom do tworzenia gier, takim jak PyGame czy Kivy.
Źródło : https://www.makeuseof.com/build-color-game-using-tkinter-python/