Bygg en terningrullsimulator i Python

Bygg en terningrullsimulator i Python
Terningene er en enkel kube som genererer et hvilket som helst tall fra 1 til 6, og terningsimulatoren er en datamodell som ruller terningen for brukeren. En terningrullesimulator kan implementeres på forskjellige måter av Python. Seks bilder vil bli pålagt å lage som vil bli brukt i simulatoren. Putemodulen til Python brukes til å vise ethvert bilde i Python som ikke er installert som standard. Terningsrullsimulatoren kan implementeres uten GUI og GUI, som vist i denne opplæringen.

Installere bildebehandlingsmodul:

Bildebehandlingsmodul vil kreve hvis du vil lage terningens rullende simulator med GUI. Kjør følgende kommandoer fra terminalen for å oppdatere PIP og installere putemodulen.

$ python3 -m pip install -upgrade pip
$ python3 -m pip install -upgrade pute

Eksempel-1: Opprette en enkel terningrullersimulator

En enkel terningrullesimulator kan opprettes ved hjelp av Python Random Module i denne opplæringen. Dette skriptet vil generere terningutgangen i terminalen. Så ingen bildebehandlingsmodul brukes i skriptet. En variabel navngitt terning brukes til å ta et hvilket som helst tall fra 1 til 6 tilfeldig. De roll_the_dice () Funksjon er her definert for å generere utgangen basert på den tilfeldige verdien. Det uendelige mens loop brukes i skriptet til å rulle terningene uendelige tider til brukeren skriver noe uten 'y'.

# Importer tilfeldig modul
importere tilfeldig
# Definer uendelig sløyfe
Mens sant:
# Generer et tilfeldig tall mellom 1 og 6
terning = tilfeldig.Randint (1, 6)
# Definer funksjonen for å skrive ut utgangen basert på terningverdien
def roll_the_dice (terning):
switcher =
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]"

Returnerer.få (terning)
# Ring funksjonen
print (roll_the_dice (terning))
# Be brukeren om å rulle terningen igjen
Svar = input ("Vil du rulle terningen igjen (Y/N)? : ")
# Avslutt sløyfen hvis brukeren skriver noe uten 'y'
Hvis svar != 'y':
Avslutt (0)

Produksjon:

Utgangen fra skriptet ovenfor vil variere i hver iterasjon av løkken for bruk av tilfeldige heltallstall. I den følgende utgangen genereres 5 i den første iterasjonen av sløyfen som vises ved hjelp av 5 nuller. Deretter skrev brukeren 'y' For å fortsette sløyfen, og 4 har generert i den andre iterasjonen av sløyfen og vist verdien ved hjelp av nuller som før. Skriptet har avsluttet når brukeren skriver 'n'.

Eksempel-2: Lag en terningrullsimulator med bilder

Du må lage seks terningbilder før du utfører skriptet til eksemplet. Du kan opprette bildene ved å bruke et hvilket. Følgende seks bilder er laget for å bruke i skriptet til dette eksemplet. Hold bildene på samme sted hvor du oppretter Python -filen for å implementere simulatoren.

Måten å lage en terningrullsimulator med GUI vises i følgende skript. Det finnes mange moduler i Python for å lage GUI -applikasjoner. Tkinter -modul brukes i dette skriptet for å implementere GUI -baserte terningrullersimulator. Bilde og Imagetk Moduler brukes i skriptet for å vise terningbilder. De tilfeldig Modul brukes til å velge terningbilde tilfeldig. I begynnelsen av skriptet har Tkinter -objektet opprettet for å definere vindusstørrelse og plassering der terningbildet vises. Her er vindusposisjonen satt sentralt. Deretter har en listevariabel erklært med de seks terningbildetavnene. tilfeldig.Valg () -funksjon brukes til å velge en indeks med bildens navn fra listen tilfeldig og få bildenavnet basert på indeksverdien. Expand = True har brukt i pakken () -funksjonen for å legge til ekstra plass når du legger til en widget i vinduet. En etikett er lagt til i vinduet for å vise terningbilde, og en knapp er lagt til i vinduet for å vise neste terningbilde. De roll_the_dice () Funksjon har tilknyttet knappen for å generere neste terningbilde. Denne funksjonen vil bli ringt når brukeren vil trykke på eller klikke på 'Rull terningen' knapp.

# Importer tkintermodul
Importer tkinter
# Importer bilde og imagetk moduler
Fra PIL importbilde, Imagetk
# Importer tilfeldig modul
importere tilfeldig
# Definer objekt for å vise hovedvinduet i applikasjonen
Win = TKinter.Tk ()
# Angi tittelen på hovedvinduet
vinne.Tittel ('Rolling Dice')
# Angi høyden og bredden på hovedvinduet
vinne.geometri ('350x280')
# Angi vinduets plassering
vinne.eval ('tk :: placewindow . senter')
# Definer liste med de seks terningbildetavnene
DICE_IMAGES = ['D1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Generer hvilken som helst indeks innen 0 til 6 tilfeldig for å få det nåværende terningbildet
IMG = Imagetk.PhotoImage (bilde.Åpen (tilfeldig.valg (DICE_IMASS))))
# Definer etikett for å vise det valgte bildet
lbl_image = tkinter.Etikett (Win, Image = IMG)
LBL_IMAGE.image = img
# Angi etikettwidgeten inne i overordnet vindu
LBL_IMAGE.pakke (utvid = sant)
# Definer funksjon for å endre terningbildet når knappen er klikket
def roll_the_dice ():
IMG = Imagetk.PhotoImage (bilde.Åpen (tilfeldig.valg (DICE_IMASS))))
# Oppdater bilde
LBL_IMAGE.konfigurere (image = img)
# Hold en referanse
LBL_IMAGE.image = img
""
Definer knappen, angi knappetekst og angi kommando
å ringe Roll_the_dice () -funksjonen
""
btn = tkinter.Knapp (vinn, tekst = 'rull terningen', kommando = roll_the_dice)
# Angi knappen inne i overordnet vindu
btn.pakke (utvid = sant)
# Ring MainLoop of Tkinter for å åpne hovedvinduet
vinne.MainLoop ()

Produksjon:

Som forrige eksempel vil terningbildet bli valgt tilfeldig hver gang knappen blir trykket på. I den følgende utgangen har terningbildet av seks blitt generert etter å ha utført skriptet.

Terningsbildet av tre har blitt generert etter å ha trykket på knappen.

Konklusjon:

To forskjellige måter å lage en terningrullsimulator ved hjelp av Python-skript er blitt forklart i denne opplæringen. Det vil hjelpe leserne å vite hvordan denne typen applikasjoner kan implementeres i Python.