Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Battlefield2, World of Tanks, The Sims4 a Freedom Force jsou některé z tisíců úžasných her, které byly vyvinuty v Pythonu.

Tkinter, standardní rozhraní Pythonu k sadě nástrojů GUI Tk, je výkonný modul, díky kterému je vytváření grafických uživatelských rozhraní snadné a zábavné. Využijte tento modul k vývoji mysl-kroucené barevné hry. Během cesty se také naučte modul používat.

Co je to barevná hra?

Ve hře Color Game program zobrazuje název barvy na obrazovce, ale v jiné barvě písma. Například zobrazí slovo Žlutá pomocí červené barvy písma a hráč musí zadat barvu textu.

Tento nesoulad informací spolu s časovačem vytváří množství zmatků a vytváří zábavný herní zážitek.

Modul Tkinter a Random

Chcete-li vytvořit hru barev, budete používat tkinter modul a náhodný modul. Tkinter je multiplatformní, jednoduchý a uživatelsky přívětivý modul GUI, který můžete použít k rychlému vytváření grafických uživatelských rozhraní.

Má některé užitečné nástroje, jako jsou widgety štítků a položek a správci rozvržení, jako je balení, mřížka a místo. Poskytované funkce jsou docela jednoduché, takže začínajícím programátorům usnadňují navrhování aplikací bez velkého úsilí. Chcete-li nainstalovat tkinter do vašeho systému, spusťte v terminálu následující příkaz:

pip nainstalovat tkinter

Náhodný modul je vestavěná knihovna, pomocí které můžete generovat náhodné volby. Pomocí tohoto modulu můžete vyvíjet ruční kriketové hry, hry s hádáním čísel, hry s magickými osmi míčky, generátory náhodných hesel, a mnoho dalších.

Jak vytvořit barevnou hru pomocí Pythonu

Zdrojový kód Color Game je k dispozici v a úložiště GitHub a můžete jej používat zdarma na základě licence MIT.

Začněte importem tkinter a náhodného modulu. Uložte název barev jako seznam řetězců a inicializujte skóre proměnná na 0 a zbývající čas do 60.

z tkinter import *
import náhodný

barvy = ['Červené', 'Zelená', 'Modrý', 'Černá', 'Růžový', 'Bílý', 'Nachový', 'Žlutá', 'Hnědý']
skóre = 0
čas_zbývající = 60

Definujte funkci pojmenovanou beginGame() to trvá událost jako vstupní argument. Funkce provádí dva úkoly. Nejprve zkontroluje, zda zbývající čas rovná se 60. Pokud ano, zavolá a provede odpočítávání() funkce. Za druhé, volá další barva() funkce, která náhodně zamíchá a zobrazí barvu a skóre, když hra probíhá.

defzačítHru(událost):
-li čas_zbývající == 60:
odpočítávání()
další barva()

Definujte funkci pojmenovanou další barva() a odkazovat na proměnné globálně. Pokud je zbývající čas větší než 0, nastavte zaměření na vstupní pole pomocí tlačítka focus_set() metoda na vstupním štítku (uložená v proměnné E) definované v druhé polovině kódu.

Použijte dostat() metoda k načtení aktuálního textu položky jako řetězce a jeho převedení na malá písmena, aby se předešlo nesouladu velkých a malých písmen. Pokud se to rovná barvě zobrazené na obrazovce, zvyšte skóre o jednu. Použijte vymazat() funkce od 0 do posledního indexu na vstupním widgetu pro vymazání obsahu.

defdalší Barva():
globální skóre
globální zbývající čas
-li čas_zbývající > 0:
e.focus_set()
-li e.get().lower() == barvy[1].dolní():
skóre += 1
e.delete(0, KONEC)

Použijte zamíchat() funkce pro změnu pořadí položek v seznamu a zobrazení barevného štítku s textem jako první barvou v seznamu a barvou písma jako druhou barvou v seznamu. Použijte config() funkce zapnuta scoreLabel (který vyžaduje stisknutí klávesy Enter) pro zobrazení skóre během hry.

 náhodně.míchat (barvy)
label.config (fg=str (barvy[1]), text=str (barvy[0]))
scoreLabel.config (text="Skóre: " + str (skóre))

Definujte funkci pojmenovanou odpočítávání() který odkazuje na proměnnou zbývajícího času a snižuje ji o jednu. Použijte config() funkce na timeLabel pro zobrazení zbývajícího času na obrazovce a po() funkce zpětného volání odpočítávání funkce po prodlevě 1000 milisekund nebo jedné sekundy.

defodpočítávání():
globální zbývající čas
-li čas_zbývající > 0:
čas_zbývající -= 1
timeLabel.config (text="Zbývající čas: " + str (zbývající_čas))
timeLabel.after(1000, odpočítávání)

Inicializujte instanci tkinter a zobrazte kořenové okno. Nastavte nadpis, rozměry v pixelech a barvu pozadí okna.

kořen = Tk()
root.title(„Barevná hra s kroucením“)
root.geometry("750x450")
root.configure (pozadí='Oranžový')

Použijte Označení widget, který hráče poučí o pokynech ke hře. Přijímá nadřazené okno, do kterého byste jej umístili. Text by měl zobrazovat typ a velikost písma spolu s barvou pozadí štítku. Použijte balíček() funkci uspořádat widget štítků do bloků před jejich umístěním do nadřazeného widgetu.

Podobně definujte štítek skóre, který uživateli dá pokyn ke stisknutí Vstupte pro zahájení hry a také časový štítek pro zobrazení zbývajícího času. Ujistěte se, že všechny štítky mají oranžovou barvu pozadí, aby splývaly s pozadím. Definujte prázdný štítek, který bude obsahovat názvy barev v další barva() funkce.

instrukce = Štítek (kořen, text="Napiš barvu slova, ne textu ;)", font=('Arial', 24), bg="oranžový")
instrukce.pack()
scoreLabel = Label (kořen, text="Začněte stisknutím klávesy Enter", font=('Arial', 24), bg="oranžový")
scoreLabel.pack()
timeLabel = Label (kořen, text="Zbývající čas: " + str (zbývající_čas), font=('Arial', 24), bg="oranžový")
timeLabel.pack()
label = Label (kořen, font=('Arial', 90), bg="oranžový")

Jak již bylo zmíněno, použijte vstupní widget k zachycení hráčovy odpovědi. Důležitým krokem je spojení klávesy Enter s událostí v okně tkinter, takže když ji hráč stiskne, spustí se určitá funkce.

Abyste toho dosáhli, absolvujete klíč a beginGame() fungovat jako parametry k svázat() funkce. Kromě toho použijte balíček() a focus_set() způsoby, jak uspořádat a nastavit zaměření na vstupní štítek, jakmile stisknete klávesu Enter.

e = Záznam (font=20)
root.bind('', začít hru)
e.pack()
e.focus_set()

The mainloop() Funkce říká Pythonu, aby spustil smyčku událostí tkinter a poslouchal události (jako je stisknutí tlačítka), dokud nezavřete okno.

root.mainloop()

Dejte všechny kódy dohromady a máte hru Color Game se zápletkou připravenou hrát na dosah ruky.

Výstup barevné hry pomocí Pythonu

Po spuštění programu Color Game se na obrazovce objeví okno. Po stisknutí Enter začne odpočítávání a hráč musí začít psát barvu slova. Za každou správnou odpověď se skóre zvýší o jednu a nakonec se zobrazí konečné skóre.

Vývoj her pomocí Pythonu

Python je fantastický jazyk pro vývoj her. Jazyk je nejen jednoduchý na pochopení a použití, ale také umožňuje vývojářům her všech úrovní zkušeností vytvářet úžasné herní světy, které jsou zajímavé a zábavné.

Kromě toho mají tvůrci širokou škálu možností, jak uvést nápady do života, a to díky různým platformám pro vývoj her, které jsou na trhu k dispozici, jako je PyGame nebo Kivy.