Python

Vytvorte si v Pythone simulátor hádzania kockami

Vytvorte si v Pythone simulátor hádzania kockami
Kocky sú jednoduché kocky, ktoré generujú ľubovoľné číslo od 1 do 6 a kockový simulátor je počítačový model, ktorý hodí kocky používateľovi. Simulátor valenia kocky môže Python implementovať rôznymi spôsobmi. Na vytvorenie bude potrebných šesť obrázkov, ktoré sa použijú v simulátore. Modul vankúša v Pythone sa používa na zobrazenie ľubovoľného obrázka v Pythone, ktorý nie je predvolene nainštalovaný. Simulátor valenia kocky je možné implementovať bez grafického používateľského rozhrania a grafického používateľského rozhrania, ako je uvedené v tomto výučbe.

Inštalácia modulu na spracovanie obrazu:

Modul na spracovanie obrazu bude vyžadovať, ak chcete vytvoriť simulátor valenia kockami s GUI. Spustením nasledujúcich príkazov z terminálu aktualizujte pip a nainštalujte modul Pillow.

$ python3 -m pip install - upgrade pip
$ python3 -m pip install - upgrade vankúš

Príklad 1: Vytvorenie jednoduchého simulátora hodu kockami

Jednoduchý simulátor hádzania kockami je možné v tomto návode vytvoriť pomocou náhodného modulu Python. Tento skript vygeneruje výstup kocky v termináli. V skripte sa teda nepoužíva žiadny modul na spracovanie obrazu. Premenná s názvom kocky sa používa na náhodne vybratie ľubovoľného čísla od 1 do 6. The hodiť kockou() je tu definovaná funkcia na generovanie výstupu na základe náhodnej hodnoty. Smyčka nekonečného while sa v skripte používa na nekonečné hádzanie kockami, kým používateľ nenapíše čokoľvek bez znaku „y“.

# Importovať náhodný modul
import náhodne
# Definujte nekonečnú slučku
zatiaľ čo je pravda:
# Vytvorte náhodné číslo medzi 1 a 6
kocky = nahodne.opätovné vydanie (1, 6)
# Definujte funkciu pre tlač výstupu na základe hodnoty kociek
def roll_the_dice (kocky):
prepínač =
1: „[] \ n | 0 | \ n []",
2: „[0] \ n | | n [0]“,
3: „[0] \ n | 0 | \ n [0]“,
4: „[0 0] \ n | | n [0 0]“,
5: „[0 0] \ n | 0 | \ n [0 0]“,
6: „[0 0] \ n | 0 0 | \ n [0 0]“

prepínač spiatočky.dostať (kocky)
# Zavolajte funkciu
print (roll_the_dice (kocky))
# Požiadajte používateľa, aby hodil kockou znova
answer = input ("Chcete znova hodiť kockou (y / n)? : ")
# Ukončite slučku, ak používateľ napíše čokoľvek bez znaku „y“
ak odpoveď != 'y':
výstup (0)

Výkon:

Výstup vyššie uvedeného skriptu sa bude líšiť v každej iterácii cyklu pre použitie náhodných celých čísel. V nasledujúcom výstupe je 5 vygenerovaných v prvej iterácii slučky zobrazenej pomocou 5 núl. Potom používateľ napísal „y“ pokračovať v slučke a 4 vygenerovalo v druhej iterácii slučky a zobrazilo hodnotu pomocou núl ako predtým. Skript bol ukončený, keď užívateľ napíše 'n'.

Príklad 2: Vytvorte simulátor hracích kociek s obrázkami

Pred vykonaním skriptu príkladu musíte vytvoriť šesť obrázkov kocky. Obrázky môžete vytvoriť pomocou ľubovoľnej aplikácie na vytváranie obrázkov. Nasledujúcich šesť obrázkov bolo vytvorených na použitie v skripte tohto príkladu. Majte obrázky na rovnakom mieste, kde vytvoríte súbor python na implementáciu simulátora.

Spôsob vytvorenia simulátora hádzania kockami pomocou grafického používateľského rozhrania zobrazuje nasledujúci skript. V Pythone existuje veľa modulov na vytváranie aplikácií GUI. V tomto skripte sa používa modul Tkinter na implementáciu simulátora valenia kociek založeného na GUI. Obrázok a ImageTk moduly sa v skripte používajú na zobrazenie obrázkov kocky. The náhodný modul slúži na náhodný výber kocky. Na začiatku skriptu bol vytvorený objekt Tkinter, ktorý definuje veľkosť okna a pozíciu, kde sa bude zobrazovať obrázok kocky. Tu bola poloha okna nastavená centrálne. Ďalej bola deklarovaná premenná zoznamu so šiestimi názvami obrázkov kocky. náhodný.funkcia choice () slúži na náhodný výber jedného indexu názvu obrázka zo zoznamu a získanie názvu obrázka na základe hodnoty indexu. expand = True použil vo funkcii pack () na pridanie väčšieho priestoru pri pridávaní miniaplikácie v okne. Do okna bol pridaný štítok na zobrazenie obrázka kocky a do okna bolo pridané tlačidlo na zobrazenie nasledujúceho obrázka kocky. The hodiť kockou() funkcia je priradená k tlačidlu na generovanie nasledujúceho obrázka kocky. Táto funkcia sa vyvolá, keď používateľ stlačí alebo klikne na ikonu 'HODIŤ KOCKOU' tlačidlo.

# Importovať modul Tkinter
importovať tkinter
# Importujte moduly Image a ImageTk
z PIL import Image, ImageTk
# Importovať náhodný modul
import náhodne
# Definujte objekt, aby sa zobrazilo hlavné okno aplikácie
výhra = tkinter.Tk ()
# Nastavte názov hlavného okna
vyhrať.názov („Rolling Dice“)
# Nastavte výšku a šírku hlavného okna
vyhrať.geometria („350 x 280“)
# Nastavte polohu okna
vyhrať.eval ('tk :: PlaceWindow . stred “)
# Definujte zoznam so šiestimi názvami obrázkov kocky
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Vytvorte ľubovoľný index v rozmedzí 0 až 6 náhodne, aby ste získali aktuálny obrázok kociek
img = ImageTk.PhotoImage (Obrázok.otvorené (náhodné.výber (kocky_obrazov)))
# Definujte štítok, aby sa zobrazil vybraný obrázok
lbl_image = tkinter.Štítok (výhra, obrázok = obrázok)
lbl_image.obrázok = obr
# Nastavte widget štítku vo vnútri nadradeného okna
lbl_image.balíček (rozbaliť = True)
# Definujte funkciu na zmenu obrázka kociek po kliknutí na tlačidlo
def roll_the_dice ():
img = ImageTk.PhotoImage (Obrázok.otvorené (náhodné.výber (kocky_obrazov)))
# aktualizovať obrázok
lbl_image.nakonfigurovať (image = img)
# zachovať referenciu
lbl_image.obrázok = obr

Definujte tlačidlo, nastavte text tlačidla a nastavte príkaz
volať funkciu roll_the_dice ()

btn = tkinter.Tlačidlo (výhra, text = 'VYHRAŤ KOSTKY', príkaz = hodiť_kockami)
# Nastavte tlačidlo vo vnútri okna rodiča
btn.balíček (rozbaliť = True)
# Zavolajte na hlavný okruh Tkinteru a otvorte hlavné okno
vyhrať.mainloop ()

Výkon:

Rovnako ako v predchádzajúcom príklade, bude kockový obrázok vybraný náhodne pri každom stlačení tlačidla. Na nasledujúcom výstupe bol po vykonaní skriptu vygenerovaný obraz kocky šiestich.

Obrázok troch kociek bol vygenerovaný po stlačení tlačidla.

Záver:

V tejto príručke sú vysvetlené dva rôzne spôsoby vytvárania simulátora hádzania kockami pomocou skriptu Python. Pomôže čitateľom vedieť, ako je možné tento typ aplikácie implementovať v Pythone.

Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...