Instaliranje modula za obradu slike:
Modul za obradu slike bit će potreban ako želite stvoriti simulator bacanja kockica s GUI-jem. Izvršite sljedeće naredbe s terminala da biste ažurirali pip i instalirali modul Jastuk.
$ python3 -m pip install - nadogradnja pipa$ python3 -m pip install --upgrade jastuk
Primjer-1: Stvaranje jednostavnog simulatora bacanja kockica
Jednostavni simulator bacanja kockica može se stvoriti pomoću Python random modula u ovom vodiču. Ova će skripta generirati izlaz kocke u terminalu. Dakle, u skripti se ne koristi modul za obradu slike. Varijabla imenovana kocke koristi se za nasumično uzimanje bilo kojeg broja od 1 do 6. The roll_the_dice () ovdje je definirana funkcija koja generira izlaz na temelju slučajne vrijednosti. Beskonačna petlja while koristi se u skripti za beskonačno bacanje kockica dok korisnik ne upiše ništa bez 'y'.
# Uvezi slučajni modulslučajni uvoz
# Definirajte beskonačnu petlju
dok je Istina:
# Generirajte slučajni broj između 1 i 6
kocka = slučajna.randint (1, 6)
# Definirajte funkciju za ispis rezultata na temelju vrijednosti kocke
def roll_the_dice (kockice):
prebacivač =
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]"
povratni prekidač.dobiti (kockice)
# Pozovite funkciju
ispis (roll_the_dice (kocka))
# Zamolite korisnika za ponovno bacanje kocke
answer = input ("Želite li ponovno baciti kocku (d / n)? : ")
# Prekini petlju ako korisnik upiše bilo što bez 'y'
ako odgovor != 'y':
izlaz (0)
Izlaz:
Izlaz gornje skripte varirat će u svakoj iteraciji petlje za upotrebu slučajnih cjelobrojnih brojeva. U sljedećem izlazu, 5 se generira u prvoj iteraciji petlje koja se prikazuje pomoću 5 nula. Zatim je korisnik upisao 'y' za nastavak petlje, a 4 je generirao u drugoj iteraciji petlje i prikazao vrijednost koristeći nule kao prije. Skripta se prekida kada korisnik upiše 'n'.
Primjer 2: Stvorite simulator bacanja kockica sa slikama
Morate stvoriti šest slika kockica prije izvođenja skripte primjera. Slike možete stvoriti pomoću bilo koje aplikacije za stvaranje slika. Sljedećih šest slika stvoreno je za upotrebu u skripti ovog primjera. Držite slike na istom mjestu gdje ćete stvoriti python datoteku za implementaciju simulatora.
Način izrade simulatora bacanja kockica s GUI-om prikazan je u sljedećoj skripti. U Pythonu postoje mnogi moduli za stvaranje GUI aplikacija. Tkinter modul koristi se u ovoj skripti za implementaciju simulatora bacanja kockica temeljenog na GUI. Slika i ImageTk moduli se u skripti koriste za prikaz slika kockica. The slučajno modul koristi se za slučajni odabir slike kocke. Na početku skripte, objekt Tkinter stvorio je da definira veličinu prozora i položaj na kojem će se prikazati slika kocke. Ovdje je položaj prozora postavljen centralno. Dalje, varijabla popisa deklarirala je sa šest imena slika kockica. slučajno.funkcija choice () koristi se za slučajni odabir jednog indeksa imena slike s popisa i dobivanje naziva slike na temelju vrijednosti indeksa. expand = True je koristio u funkciji pack () za dodavanje dodatnog prostora prilikom dodavanja widgeta u prozor. U prozor je dodana oznaka za prikaz slike kocke, a u prozor je dodan gumb za prikaz sljedeće slike kocke. The roll_the_dice () funkcija se pridružila gumbu za generiranje sljedeće slike kocke. Ova će se funkcija pozvati kad korisnik pritisne ili klikne na 'KOLICI KOCKU' dugme.
# Uvoz modula Tkinteruvoz tkinter
# Uvoz modula Image i ImageTk
s PIL import Image, ImageTk
# Uvezi slučajni modul
slučajni uvoz
# Definirajte objekt za prikaz glavnog prozora aplikacije
pobjeda = tkinter.Tk ()
# Postavite naslov glavnog prozora
pobijediti.naslov ('Kockanje kockica')
# Postavite visinu i širinu glavnog prozora
pobijediti.geometrija ('350x280')
# Postavite položaj prozora
pobijediti.eval ('tk :: PlaceWindow . centar')
# Definirajte popis sa šest imena slika kockica
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Generirajte bilo koji indeks unutar 0 do 6 nasumično da biste dobili trenutnu sliku kockica
img = ImageTk.PhotoImage (Slika.otvoren (slučajan.izbor (slike_kocke)))
# Definirajte oznaku za prikaz odabrane slike
lbl_image = tkinter.Oznaka (pobjeda, slika = img)
lbl_image.slika = img
# Postavite widget s oznakom unutar nadređenog prozora
lbl_image.paket (proširiti = True)
# Definirajte funkciju za promjenu slike kocke kad se klikne gumb
def roll_the_dice ():
img = ImageTk.PhotoImage (Slika.otvoren (slučajan.izbor (slike_kocke)))
# ažuriraj sliku
lbl_image.konfigurirati (slika = img)
# zadržite referencu
lbl_image.slika = img
"
Definirajte gumb, postavite tekst gumba i postavite naredbu
za pozivanje funkcije roll_the_dice ()
"
btn = tkinter.Gumb (pobjeda, text = 'KOLICI KOCKU', naredba = roll_the_dice)
# Postavite gumb unutar nadređenog prozora
btn.paket (proširiti = True)
# Nazovite glavnu petlju Tkintera da biste otvorili glavni prozor
pobijediti.glavna petlja ()
Izlaz:
Kao i u prethodnom primjeru, slika kocke odabrat će se nasumično svaki put kad se pritisne gumb. U sljedećem izlazu, nakon izvođenja skripte generirana je slika šest kockica.
Slika kocke trojice generirana je nakon pritiska gumba.
Zaključak:
U ovom su uputstvu objašnjena dva različita načina stvaranja simulatora bacanja kockica pomoću Python skripte. Čitateljima će pomoći da znaju kako se ova vrsta aplikacije može implementirati u Python.