Python

V Pythonu zgradite simulator premikanja kock

V Pythonu zgradite simulator premikanja kock
Kocka je preprosta kocka, ki ustvari poljubno število od 1 do 6, simulator kock pa je računalniški model, ki uporabniku kocke vrti. Simulator valjanja kock lahko Python izvede na različne načine. Za ustvarjanje bo potrebno šest slik, ki bodo uporabljene v simulatorju. Modul Vzglavnik Pythona se uporablja za prikaz katere koli slike v Pythonu, ki ni privzeto nameščena. Simulator premikanja kock je mogoče izvesti brez GUI in GUI, kot je prikazano v tej vadnici.

Namestitev modula za obdelavo slik:

Modul za obdelavo slik bo zahteval, če želite ustvariti simulator premikanja kock z GUI. Iz terminala zaženite naslednje ukaze, da posodobite pip in namestite modul Pillow.

$ python3 -m pip install --upgrade pip
$ python3 -m pip install - nadgradnja vzglavnik

Primer-1: Ustvarjanje preprostega simulatorja kockanja

V tej vadnici lahko z naključnim modulom Python ustvarite preprost simulator kockanja kock. Ta skript bo ustvaril izhodne kocke v terminalu. V skriptu torej ni uporabljen noben modul za obdelavo slik. Spremenljivka z imenom kocke se uporablja za naključno sprejemanje poljubnih številk od 1 do 6. The vrzi kocko() Tu je definirana funkcija za ustvarjanje izhoda na podlagi naključne vrednosti. Neomejena zanka while se v skriptu uporablja za neskončno kotaljanje kock, dokler uporabnik ne vpiše ničesar brez 'y'.

# Uvozi naključni modul
uvoz naključno
# Določite neskončno zanko
medtem ko je True:
# Ustvari naključno število med 1 in 6
kocke = naključno.randint (1, 6)
# Določite funkcijo za tiskanje izhoda na podlagi vrednosti kocke
def roll_the_dice (kocke):
preklopnik =
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]"

povratno stikalo.dobili (kocke)
# Pokličite funkcijo
natisni (roll_the_dice (kocke))
# Prosite uporabnika, da znova vrže kocke
answer = input ("Ali želite znova kockati (y / n)? : ")
# Prekinite zanko, če uporabnik vpiše kaj brez 'y'
če odgovor != 'y':
izhod (0)

Izhod:

Rezultat zgornjega skripta se bo razlikoval pri vsaki ponovitvi zanke za uporabo naključnih celoštevilčnih števil. V naslednjem izhodu se v prvi ponovitvi zanke, prikazane z uporabo 5 ničel, ustvari 5. Nato je uporabnik vtipkal "y" za nadaljevanje zanke, 4 pa je v drugi ponovitvi zanke ustvaril in prikazal vrednost z ničlami ​​kot prej. Skript se konča, ko uporabnik vnese 'n'.

Primer-2: Ustvarite simulator kockanja s slikami

Pred izvajanjem skripta primera morate ustvariti šest slik kock. Slike lahko ustvarite s katero koli aplikacijo za ustvarjanje slik. Naslednjih šest slik je bilo ustvarjenih za uporabo v skriptu tega primera. Slike naj bodo na istem mestu, kjer boste ustvarili datoteko python za izvedbo simulatorja.

Način ustvarjanja simulatorja kockanja z GUI je prikazan v naslednjem skriptu. V Pythonu obstaja veliko modulov za ustvarjanje GUI aplikacij. V tem skriptu se uporablja modul Tkinter za izvajanje simulatorja kockanja na osnovi GUI. Slika in ImageTk moduli se v skriptu uporabljajo za prikaz slik kock. The naključen modul se uporablja za naključno izbiro slike kocke. Na začetku skripta je objekt Tkinter ustvaril, da določi velikost okna in položaj, kjer bo prikazana slika kocke. Tu je bil položaj okna nastavljen centralno. Nato je spremenljivka seznama objavila šest imen slik kock. naključen.Izbira () se uporablja za naključno izbiranje enega indeksa imena slike s seznama in pridobivanje imena slike na podlagi vrednosti indeksa. expand = True je v funkciji pack () uporabil dodaten prostor pri dodajanju gradnika v okno. V oknu je bila dodana oznaka za prikaz slike kocke, v oknu pa gumb za prikaz naslednje slike kocke. The vrzi kocko() funkcija je povezana z gumbom za ustvarjanje naslednje slike kocke. Ta funkcija bo poklicana, ko bo uporabnik pritisnil na ali 'VRZI KOCKO' gumb.

# Uvozi modul Tkinter
uvoz tkinter
# Uvozi module Image in ImageTk
iz PIL import Image, ImageTk
# Uvozi naključni modul
uvoz naključno
# Določite objekt za prikaz glavnega okna aplikacije
win = tkinter.Tk ()
# Nastavite naslov glavnega okna
zmaga.naslov ('Rolling Dice')
# Nastavite višino in širino glavnega okna
zmaga.geometrija ('350x280')
# Nastavite položaj okna
zmaga.eval ('tk :: PlaceWindow . center')
# Določite seznam s šestimi imeni slik kock
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Naključno ustvarite kateri koli indeks od 0 do 6, da dobite trenutno sliko kock
img = ImageTk.PhotoImage (Slika.odprto (naključno.izbira (slike dice)))
# Določite oznako za prikaz izbrane slike
lbl_image = tkinter.Oznaka (zmaga, slika = img)
lbl_image.slika = img
# Pripomoček za nalepke nastavite v nadrejenem oknu
lbl_image.paket (razširi = True)
# Določite funkcijo za spremembo slike kocke, ko kliknete gumb
def roll_the_dice ():
img = ImageTk.PhotoImage (Slika.odprto (naključno.izbira (slike dice)))
# posodobi sliko
lbl_image.konfiguriraj (slika = img)
# obdržite referenco
lbl_image.slika = img
"
Določite gumb, nastavite besedilo gumba in nastavite ukaz
za klic funkcije roll_the_dice ()
"
btn = tkinter.Gumb (zmaga, besedilo = 'ROLL THE DICE', ukaz = roll_the_dice)
# Nastavite gumb znotraj nadrejenega okna
btn.paket (razširi = True)
# Pokličite glavno zanko Tkinterja, da odprete glavno okno
zmaga.mainloop ()

Izhod:

Tako kot v prejšnjem primeru bo slika kocke izbrana naključno vsakič, ko pritisnete gumb. V naslednjem rezultatu je bila po izvedbi skripta ustvarjena slika kock šestih.

Slika kocke treh je bila ustvarjena po pritisku na gumb.

Zaključek:

V tej vadnici sta pojasnjena dva različna načina ustvarjanja simulatorja kockanja s pomočjo skripta Python. Bralcem bo pomagalo vedeti, kako je to vrsto aplikacije mogoče implementirati v Python.

Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...
0 A.D. Vadnica
Od številnih strateških iger tam 0 A.D. uspe izstopati kot izčrpen naslov in zelo globoka, taktična igra, čeprav je odprtokodna. Razvoj igre deluje ze...
Vadnica za Unity3D
Uvod v Unity 3D Unity 3D je močan motor za razvoj iger. Navzkrižna platforma vam omogoča ustvarjanje iger za mobilne naprave, splet, namizje in konzol...