Krajta

Postavte si v Pythonu simulátor válcování kostkami

Postavte si v Pythonu simulátor válcování kostkami
Kostky jsou jednoduchá kostka, která generuje libovolné číslo od 1 do 6, a simulátor kostek je počítačový model, který hodí kostky uživateli. Simulátor válcování kostkami může Python implementovat různými způsoby. K vytvoření bude zapotřebí šest obrázků, které budou použity v simulátoru. Modul Pillow v Pythonu se používá k zobrazení jakéhokoli obrázku v Pythonu, který není ve výchozím nastavení nainstalován. Simulátor válcování kostkami lze implementovat bez grafického uživatelského rozhraní a grafického uživatelského rozhraní, jak ukazuje tento návod.

Instalace modulu pro zpracování obrazu:

Modul pro zpracování obrazu bude vyžadovat, pokud chcete vytvořit simulátor válcování kostkami s GUI. Spuštěním následujících příkazů z terminálu aktualizujte pip a nainstalujte modul Pillow.

$ python3 -m pip install --upgrade pip
$ python3 -m pip install --upgrade polštář

Příklad 1: Vytvoření jednoduchého simulátoru válcování kostkami

V tomto tutoriálu lze pomocí náhodného modulu Pythonu vytvořit jednoduchý simulátor válcování kostkami. Tento skript vygeneruje výstup kostek v terminálu. Ve skriptu se tedy nepoužívá žádný modul pro zpracování obrazu. Proměnná s názvem kostky se používá k náhodnému výběru libovolného čísla od 1 do 6. The roll_the_dice () Zde je definována funkce pro generování výstupu na základě náhodné hodnoty. Smyčka nekonečné while se ve skriptu používá k nekonečnému házení kostkami, dokud uživatel nezadá cokoli bez 'y'.

# Importovat náhodný modul
importovat náhodně
# Definujte nekonečnou smyčku
zatímco je pravda:
# Vygenerujte náhodné číslo mezi 1 a 6
kostky = náhodné.randint (1, 6)
# Definujte funkci pro tisk výstupu na základě hodnoty kostky
def roll_the_dice (kostky):
přepí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]“

zpětný přepínač.dostat (kostky)
# Zavolejte funkci
print (roll_the_dice (kostky))
# Požádejte uživatele, aby znovu hodil kostkou
answer = input („Chcete házet kostkami znovu (y / n)? : ")
# Ukončete smyčku, pokud uživatel něco napíše bez „y“
pokud odpověď != 'y':
výstup (0)

Výstup:

Výstup výše uvedeného skriptu se bude lišit v každé iteraci smyčky pro použití náhodných celých čísel. V následujícím výstupu je 5 vygenerováno v první iteraci smyčky zobrazené pomocí 5 nul. Poté uživatel zadal 'y' pokračovat ve smyčce a 4 vygenerovalo ve druhé iteraci smyčky a zobrazilo hodnotu pomocí nul jako dříve. Skript byl ukončen, když uživatel píše 'n'.

Příklad 2: Vytvořte simulátor házení kostkami s obrázky

Před provedením skriptu příkladu musíte vytvořit šest obrázků kostek. Obrázky můžete vytvořit pomocí libovolné aplikace pro vytváření obrázků. Následující šest obrázků bylo vytvořeno pro použití ve skriptu tohoto příkladu. Udržujte obrázky na stejném místě, kde vytvoříte soubor pythonu pro implementaci simulátoru.

Způsob vytvoření simulátoru házení kostkami s grafickým uživatelským rozhraním je uveden v následujícím skriptu. V Pythonu existuje mnoho modulů pro vytváření aplikací GUI. V tomto skriptu se používá modul Tkinter k implementaci simulátoru válcování kostek založeného na GUI. obraz a ImageTk ve skriptu se používají moduly k zobrazení kostkových obrázků. The náhodný modul slouží k náhodnému výběru kostky. Na začátku skriptu byl vytvořen objekt Tkinter, který definuje velikost okna a pozici, kde bude zobrazen obrázek kostky. Zde byla poloha okna nastavena centrálně. Dále byla deklarována proměnná seznamu se šesti názvy obrázků kostek. náhodný.Funkce choice () slouží k náhodnému výběru jednoho indexu názvu obrázku ze seznamu a získání názvu obrázku na základě hodnoty indexu. expand = True použil ve funkci pack () k přidání dalšího prostoru při přidávání widgetu v okně. V okně byl přidán štítek pro zobrazení obrázku kostky a v okně bylo přidáno tlačítko pro zobrazení dalšího obrázku kostky. The roll_the_dice () funkce přidružená k tlačítku pro generování dalšího obrázku kostky. Tato funkce bude vyvolána, když uživatel stiskne nebo klikne na ikonu 'ROLL THE DICE' knoflík.

# Importovat modul Tkinter
importovat tkinter
# Import obrázků a ImageTk modulů
z PIL import Image, ImageTk
# Importovat náhodný modul
importovat náhodně
# Definujte objekt pro zobrazení hlavního okna aplikace
win = tkinter.Tk ()
# Nastavte název hlavního okna
vyhrát.název ('Rolling Dice')
# Nastavte výšku a šířku hlavního okna
vyhrát.geometrie ('350x280')
# Nastavte polohu okna
vyhrát.eval ('tk :: PlaceWindow . centrum')
# Definujte seznam se šesti názvy obrázků kostek
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Generujte libovolný index v rozmezí 0 až 6 náhodně, abyste získali aktuální obrázek kostky
img = ImageTk.PhotoImage (obrázek.otevřené (náhodné.choice (dice_images)))
# Definujte štítek pro zobrazení vybraného obrázku
lbl_image = tkinter.Štítek (výhra, obrázek = obrázek)
lbl_image.obrázek = obr
# Nastavte widget štítku uvnitř nadřazeného okna
lbl_image.balíček (rozbalit = True)
# Definujte funkci pro změnu obrazu kostky po kliknutí na tlačítko
def roll_the_dice ():
img = ImageTk.PhotoImage (obrázek.otevřené (náhodné.choice (dice_images)))
# aktualizovat obrázek
lbl_image.konfigurovat (image = img)
# ponechat odkaz
lbl_image.obrázek = obr
"
Definujte tlačítko, nastavte text tlačítka a nastavte příkaz
zavolat funkci roll_the_dice ()
"
btn = tkinter.Tlačítko (win, text = 'ROLL THE DICE', command = roll_the_dice)
# Nastavte tlačítko uvnitř nadřazeného okna
btn.balíček (rozbalit = True)
# Zavolejte hlavní smyčku Tkinteru a otevřete hlavní okno
vyhrát.mainloop ()

Výstup:

Stejně jako v předchozím příkladu bude obrázek kostky vybrán náhodně při každém stisknutí tlačítka. V následujícím výstupu byl po provedení skriptu vygenerován obrázek kostky šesti.

Obrázek kostky tří byl vygenerován po stisknutí tlačítka.

Závěr:

V tomto kurzu byly vysvětleny dva různé způsoby vytvoření simulátoru válcování kostkami pomocí skriptu Python. Pomůže čtenářům zjistit, jak lze tento typ aplikace implementovat v Pythonu.

Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...
Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...
Hry Zdarma a open source herní motory pro vývoj linuxových her
Zdarma a open source herní motory pro vývoj linuxových her
Tento článek pokryje seznam bezplatných a otevřených herních enginů, které lze použít pro vývoj 2D a 3D her v systému Linux. Existuje mnoho takových h...