Python

Byg en terningkast-simulator i Python

Byg en terningkast-simulator i Python
Terningerne er en simpel terning, der genererer et hvilket som helst tal fra 1 til 6, og terningssimulatoren er en computermodel, der kaster terningerne for brugeren. En terningkast-simulator kan implementeres på forskellige måder af Python. Der kræves seks billeder for at oprette, der skal bruges i simulatoren. Pillomodulet i Python bruges til at vise ethvert billede i Python, der ikke er installeret som standard. Terningkast-simulatoren kan implementeres uden GUI og GUI, som vist i denne vejledning.

Installation af billedbehandlingsmodul:

Billedbehandlingsmodul kræves, hvis du vil oprette terningkast-simulatoren med GUI. Kør følgende kommandoer fra terminalen for at opdatere pipen og installere Pillow-modulet.

$ python3 -m pip-installation - opgrader pip
$ python3 -m pip-installation - opgrader pude

Eksempel 1: Oprettelse af en simpel terningkast-simulator

En simpel terning rullende simulator kan oprettes ved hjælp af Python tilfældigt modul i denne vejledning. Dette script genererer terningoutput i terminalen. Så der bruges ikke noget billedbehandlingsmodul i scriptet. En variabel med navnet terninger bruges til at tage et vilkårligt tal fra 1 til 6 tilfældigt. Det kaste terningerne() funktion er defineret her for at generere output baseret på den tilfældige værdi. Den uendelige mens loop bruges i scriptet til at kaste terningerne uendelige gange, indtil brugeren skriver noget uden 'y'.

# Importer tilfældigt modul
import tilfældigt
# Definer uendelig løkke
mens det er sandt:
# Generer et tilfældigt tal mellem 1 og 6
terning = tilfældig.randint (1, 6)
# Definer funktionen til udskrivning af output baseret på terningsværdien
def roll_the_dice (terninger):
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]"

afbryder.få (terninger)
# Ring til funktionen
udskriv (roll_the_dice (terninger))
# Bed brugeren om at kaste terningerne igen
svar = input ("Vil du kaste terningerne igen (å / n)? : ")
# Afslut sløjfen, hvis brugeren skriver noget uden 'y'
hvis svar != 'y':
afslut (0)

Produktion:

Outputtet fra ovenstående script vil variere i hver iteration af loop for brug af tilfældige heltal. I det følgende output genereres 5 i den første iteration af sløjfen, der vises ved hjælp af 5 nuller. Dernæst skrev brugeren 'y' for at fortsætte sløjfen, og 4 har genereret i den anden iteration af sløjfen og vist værdien ved hjælp af nuller som før. Scriptet er afsluttet, når brugeren skriver 'n'.

Eksempel 2: Opret en terningkast-simulator med billeder

Du skal oprette seks terningebilleder, før du udfører scriptet i eksemplet. Du kan oprette billederne ved hjælp af et hvilket som helst billedskabende program. Følgende seks billeder er oprettet til brug i scriptet til dette eksempel. Hold billederne på det samme sted, hvor du opretter python-filen til implementering af simulatoren.

Måden at oprette en terning-rullende simulator med GUI vises i det følgende script. Der findes mange moduler i Python til oprettelse af GUI-applikationer. Tkinter-modulet bruges i dette script til at implementere GUI-baseret terningvalsesimulator. Billede og ImageTk moduler bruges i scriptet til at vise terningebilleder. Det tilfældig modulet bruges til at vælge terningebilledet tilfældigt. I begyndelsen af ​​scriptet har Tkinter-objektet oprettet for at definere vinduesstørrelse og position, hvor terningebilledet vises. Her er vinduespositionen indstillet centralt. Dernæst er en listevariabel erklæret med de seks terninger billednavne. tilfældig.valg () funktion bruges til tilfældigt at vælge et indeks af billednavnet fra listen og få billednavnet baseret på indeksværdien. expand = True har brugt i funktionen pack () til at tilføje ekstra plads, når du tilføjer en widget i vinduet. En etiket er tilføjet i vinduet for at vise terningebilledet, og der er tilføjet en knap i vinduet for at vise det næste terningebillede. Det kaste terningerne() funktion er tilknyttet knappen for at generere det næste terningebillede. Denne funktion kaldes, når brugeren trykker på eller klikker på 'KASTE TERNINGERNE' knap.

# Importer Tkinter-modul
importer tkinter
# Importer Image- og ImageTk-moduler
fra PIL-importbillede, ImageTk
# Importer tilfældigt modul
import tilfældigt
# Definer objekt for at få vist programmets hovedvindue
vinde = tkinter.Tk ()
# Indstil titlen på hovedvinduet
vinde.titel ('Rolling Dice')
# Indstil højden og bredden på hovedvinduet
vinde.geometri ('350x280')
# Indstil vinduets position
vinde.eval ('tk :: PlaceWindow . centrum')
# Definer liste med de seks terninger billednavne
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Generer ethvert indeks inden for 0 til 6 tilfældigt for at få det aktuelle terningebillede
img = ImageTk.PhotoImage (billede.åben (tilfældig.valg (terning_billeder)))
# Definer etiket for at få vist det valgte billede
lbl_image = tkinter.Etiket (vind, billede = img)
lbl_billede.billede = img
# Indstil etiketwidget inde i det overordnede vindue
lbl_billede.pakke (udvid = sand)
# Definer funktion til at ændre terningebilledet, når der klikkes på knappen
def roll_the_dice ():
img = ImageTk.PhotoImage (billede.åben (tilfældig.valg (terning_billeder)))
# opdater billede
lbl_billede.konfigurer (billede = img)
# hold en reference
lbl_billede.billede = img
"
Definer knap, indstil knaptekst og indstil kommando
for at kalde funktionen roll_the_dice ()
"
btn = tkinter.Button (win, text = 'ROLL THE DICE', command = roll_the_dice)
# Indstil knappen inde i det overordnede vindue
btn.pakke (udvid = sand)
# Ring til hovedløkken på Tkinter for at åbne hovedvinduet
vinde.mainloop ()

Produktion:

Som det foregående eksempel vælges terningebilledet tilfældigt hver gang der trykkes på knappen. I den følgende output er terningebilledet på seks genereret efter udførelse af scriptet.

Terningbillede af tre er genereret efter at have trykket på knappen.

Konklusion:

To forskellige måder at oprette en terning-rullende simulator ved hjælp af Python-script er blevet forklaret i denne vejledning. Det hjælper læserne med at vide, hvordan denne type applikationer kan implementeres i Python.

Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...