Piton

Készítsen dobókocka-szimulátort a Pythonban

Készítsen dobókocka-szimulátort a Pythonban
A kocka egy egyszerű kocka, amely tetszőleges számot generál 1-től 6-ig, a kocka-szimulátor pedig egy számítógépes modell, amely dobja a kocka a felhasználó számára. A dobókocka-szimulátort a Python különböző módon valósíthatja meg. A szimulátorban használt képek létrehozásához hat képre lesz szükség. A Python Pillow modulja bármely olyan kép megjelenítésére szolgál a Pythonban, amely alapértelmezés szerint nincs telepítve. A dobókocka-szimulátor GUI és GUI nélkül is megvalósítható, amint az ebben az oktatóanyagban látható.

Képfeldolgozó modul telepítése:

A képfeldolgozó modulra szükség lesz, ha GUI-val szeretnéd létrehozni a dobókocka-szimulátort. Futtassa a következő parancsokat a terminálról a pip frissítéséhez és a Párna modul telepítéséhez.

$ python3 -m pip install --upgrade pip
$ python3 -m pip install --upgrade Pillow

1. példa: Egy egyszerű dobókocka-szimulátor létrehozása

Egy egyszerű dobókocka-szimulátor hozható létre ebben az oktatóanyagban található Python random modul segítségével. Ez a szkript generálja a kocka kimenetet a terminálban. Tehát a szkript nem használ képfeldolgozó modult. Nevű változó dobókocka arra szolgál, hogy bármilyen számot véletlenszerűen 1-től 6-ig vegyen. A kockát vetni() A függvény itt van megadva, hogy a kimenetet a véletlenszerű érték alapján generálja. A végtelen, míg a ciklus a szkriptben végtelen idõkön keresztül dobja a kockát, amíg a felhasználó nem ír be semmit 'y' nélkül.

# Véletlen modul importálása
véletlenszerű importálás
# Definiáljon végtelen ciklust
míg True:
# Generáljon véletlen számot 1 és 6 között
kocka = véletlenszerű.randint (1, 6)
# Határozza meg a kimenet kinyomtatásának funkcióját a kockaérték alapján
def roll_the_dice (kocka):
váltó =
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]"

visszatérő kapcsoló.kap (kocka)
# Hívja meg a függvényt
nyomtatás (roll_the_dice (kocka))
# Kérje meg a felhasználót, hogy dobja újra a kockát
answer = input ("Szeretné újra dobni a kockát (igen / nem)? : ")
# Szüntesse meg a ciklust, ha a felhasználó bármit beír "y" nélkül
ha válaszol != 'y':
kilépés (0)

Kimenet:

A fenti szkript kimenete a hurok minden iterációjában változik a véletlenszerű egész számok használatához. A következő kimenetben 5 jelenik meg a hurok első iterációjában, 5 nullával. Ezután a felhasználó beírta „y” a ciklus folytatásához, és a 4 a ciklus második iterációjában generált, és az értékeket nullákkal jelezte, mint korábban. A parancsfájl leállt, amikor a felhasználó gépel 'n'.

2. példa: Hozz létre képekkel dobókocka-szimulátort

A példa parancsfájljának végrehajtása előtt hat kocka képet kell létrehoznia. A képeket bármely képalkotó alkalmazással létrehozhatja. A következő hat képet hoztuk létre a példa szkriptjében történő felhasználásra. Tartsa a képeket ugyanazon a helyen, ahol létrehozza a python fájlt a szimulátor megvalósításához.

A kockafutó szimulátor GUI-val történő létrehozásának módját a következő szkript mutatja be. A Pythonban számos modul létezik GUI alkalmazások létrehozására. A Tkinter modult ebben a szkriptben a GUI alapú dobókocka-szimulátor megvalósítására használják. Kép és ImageTk modulokat használnak a szkriptben kocka képek megjelenítésére. A véletlen modul a kocka kép véletlenszerű kiválasztására szolgál. A szkript elején a Tkinter objektum létrehozta az ablak méretét és helyét, ahol a kocka kép megjelenik. Itt az ablak helyzetét központilag állították be. Ezután egy listaváltozó deklarált a hat kocka képnévvel. véletlen.a choice () függvény arra szolgál, hogy véletlenszerűen kiválasszon egy képnév indexet a listából, és a kép nevét az index értéke alapján kapja meg. expand = True a pack () függvényben extra helyet adott hozzá, amikor widgetet adott hozzá az ablakhoz. Az ablakban hozzáadtunk egy címkét a kocka képének megjelenítéséhez, és egy gombot hozzáadtunk az ablakhoz a következő kocka kép megjelenítéséhez. A kockát vetni() funkció társítva van a gombbal a következő kocka kép előállításához. Ezt a funkciót akkor hívjuk meg, amikor a felhasználó megnyomja vagy rákattint a gombra 'KOCKÁT VETNI' gomb.

# Tkinter modul importálása
import tkinter
# Kép és ImageTk modulok importálása
a PIL import képből, ImageTk
# Véletlen modul importálása
véletlenszerű importálás
# Definiáljon objektumot az alkalmazás főablakának megjelenítéséhez
win = tkinter.Tk ()
# Állítsa be a főablak címét
győzelem.cím ('Dobó kocka')
# Állítsa be a főablak magasságát és szélességét
győzelem.geometria ('350x280')
# Állítsa be az ablak helyzetét
győzelem.eval ('tk :: PlaceWindow . központ')
# Definiálja a listát a hat kocka képnévvel
kockadarabok = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Bármely indexet generálhat véletlenszerűen 0 és 6 között, hogy megkapja az aktuális kocka képet
img = ImageTk.PhotoImage (Kép.nyitott (véletlenszerű.választás (kockaképek)))
# Definiálja a címkét a kiválasztott kép megjelenítéséhez
lbl_image = tkinter.Címke (win, image = img)
lbl_image.kép = kép
# Állítsa be a címke widgetet a szülőablakban
lbl_image.csomag (expand = True)
# Define funkció a kocka képének megváltoztatásához, amikor a gombra kattint
def roll_the_dice ():
img = ImageTk.PhotoImage (Kép.nyitott (véletlenszerű.választás (kockaképek)))
# kép frissítése
lbl_image.konfigurálás (image = img)
# tartson referenciát
lbl_image.kép = kép
"
Define gomb, állítsa be a gomb szövegét és a set parancsot
a roll_the_dice () függvény meghívásához
"
btn = tkinter.Gomb (nyerj, text = 'TERJESD A KOCKÁT', command = roll_the_dice)
# Állítsa be a gombot a szülőablakban
btn.csomag (kibővítés = igaz)
# A főablak megnyitásához hívja a Tkinter mainloop-ját
győzelem.mainloop ()

Kimenet:

Az előző példához hasonlóan, a dobókocka képe véletlenszerűen kerül kiválasztásra, valahányszor megnyomják a gombot. A következő kimenetben a kockák hat képe készült a szkript végrehajtása után.

A gomb lenyomása után háromból álló kocka kép keletkezett.

Következtetés:

Ebben az oktatóanyagban kétféle módszert ismertetünk egy kockadobó szimulátor létrehozására Python szkript használatával. Ez segít az olvasóknak abban, hogy megtudják, hogyan lehet ilyen típusú alkalmazásokat megvalósítani a Pythonban.

A legjobb játékok kézi követéssel
Az Oculus Quest nemrégiben bemutatta a vezérlés nélküli kézi követés nagyszerű ötletét. Az egyre növekvő számú játékkal és tevékenységgel, amelyek tám...
Az OSD-fedvény megjelenítése teljes képernyős Linux-alkalmazásokban és játékokban
Teljes képernyős játékok lejátszása vagy alkalmazások figyelemelterelés nélküli, teljes képernyős módban történő használata elvághatja a panelen vagy ...
Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...