Pytonorm

Bygg en tärningsrullande simulator i Python

Bygg en tärningsrullande simulator i Python
Tärningen är en enkel kub som genererar valfritt nummer från 1 till 6, och tärningssimulatorn är en datormodell som kastar tärningarna för användaren. En tärningssimulator kan implementeras på olika sätt av Python. Sex bilder krävs för att skapa som ska användas i simulatorn. Kuddmodulen i Python används för att visa alla bilder i Python som inte är installerade som standard. Tärningssimulatorn kan implementeras utan GUI och GUI, som visas i denna handledning.

Installera bildbehandlingsmodul:

Bildbehandlingsmodul kräver om du vill skapa tärningssimulatorn med GUI. Kör följande kommandon från terminalen för att uppdatera pipen och installera kuddmodulen.

$ python3 -m pip-installation - uppgradera pip
$ python3 -m pipinstall - uppgradera kudde

Exempel 1: Skapa en enkel tärningssimulator

En enkel tärningssimulator kan skapas med hjälp av Python-slumpmässig modul i denna handledning. Detta skript genererar tärningsutgången i terminalen. Så ingen bildbehandlingsmodul används i skriptet. En variabel med namnet tärningar används för att ta valfritt tal från 1 till 6 slumpmässigt. De rulla tärningen() funktionen definieras här för att generera utdata baserat på slumpmässigt värde. Oändligt medan slingan används i skriptet för att rulla tärningarna oändliga gånger tills användaren skriver något utan 'y'.

# Importera slumpmässig modul
importera slumpmässigt
# Definiera oändlig slinga
medan det är sant:
# Skapa ett slumpmässigt tal mellan 1 och 6
tärning = slumpmässig.randint (1, 6)
# Definiera funktionen för utskrift utifrån tärningsvärdet
def roll_the_dice (tärningar):
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]"

returomkopplare.få (tärning)
# Ring funktionen
skriv ut (roll_the_dice (tärningar))
# Be användaren rulla tärningarna igen
svar = input ("Vill du kasta tärningarna igen (y / n)? : ")
# Avsluta slingan om användaren skriver något utan 'y'
om svar != 'y':
avsluta (0)

Produktion:

Utgången från ovanstående skript varierar i varje iteration av slingan för att använda slumpmässiga heltal. I följande utgång genereras 5 i den första iterationen av slingan som visas med 5 nollor. Därefter skrev användaren 'y' för att fortsätta slingan, och 4 har genererat i den andra iterationen av slingan och visat värdet med nollor som tidigare. Skriptet har avslutats när användaren skriver 'n'.

Exempel 2: Skapa en tärningssimulator med bilder

Du måste skapa sex tärningsbilder innan du kör skriptet i exemplet. Du kan skapa bilderna med hjälp av valfri bildskapande applikation. Följande sex bilder har skapats för att användas i skriptet i detta exempel. Håll bilderna på samma plats där du skapar pythonfilen för att implementera simulatorn.

Sättet att skapa en tärningssimulator med GUI visas i följande skript. Många moduler finns i Python för att skapa GUI-applikationer. Tkinter-modulen används i det här skriptet för att implementera GUI-baserad tärningssimulator. Bild och ImageTk moduler används i skriptet för att visa tärningsbilder. De slumpmässig modulen används för att slumpmässigt välja tärningsbilden. I början av skriptet har Tkinter-objektet skapat för att definiera fönsterstorlek och position där tärningsbilden ska visas. Här har fönsterpositionen ställts in centralt. Därefter har en listvariabel deklarerat med sex tärningsbildnamn. slumpmässig.val () -funktionen används för att slumpmässigt välja ett index av bildnamnet från listan och få bildnamnet baserat på indexvärdet. expand = True har använt i pack () -funktionen för att lägga till extra utrymme när du lägger till en widget i fönstret. En etikett har lagts till i fönstret för att visa tärningsbilden och en knapp har lagts till i fönstret för att visa nästa tärningsbild. De rulla tärningen() funktionen har associerats med knappen för att generera nästa tärningsbild. Denna funktion anropas när användaren trycker på eller klickar på 'RULLA TÄRNINGEN' knapp.

# Importera Tkinter-modul
importera tkinter
# Importera Image- och ImageTk-moduler
från PIL import Image, ImageTk
# Importera slumpmässig modul
importera slumpmässigt
# Definiera objekt för att visa programmets huvudfönster
vinna = tkinter.Tk ()
# Ställ in huvudfönstrets titel
vinna.titel ('Rolling Dice')
# Ställ in huvudfönstrets höjd och bredd
vinna.geometri ('350x280')
# Ställ in fönstrets position
vinna.eval ('tk :: PlaceWindow . Centrum')
# Definiera listan med de sex tärningsbildnamnen
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Generera valfritt index inom 0 till 6 slumpmässigt för att få den aktuella tärningsbilden
img = ImageTk.PhotoImage (bild.öppen (slumpmässig.val (tärningsbilder)))
# Definiera etikett för att visa den valda bilden
lbl_image = tkinter.Etikett (vinn, bild = img)
lbl_image.bild = img
# Ställ in etikettwidgeten i föräldrafönstret
lbl_image.pack (expand = True)
# Definiera funktion för att ändra tärningsbilden när du klickar på knappen
def roll_the_dice ():
img = ImageTk.PhotoImage (bild.öppen (slumpmässig.val (tärningsbilder)))
# uppdatera bilden
lbl_image.konfigurera (bild = img)
# behåll en referens
lbl_image.bild = img
"
Definiera knapp, ställ in knapptext och ställ in kommando
för att ringa funktionen roll_the_dice ()
"
btn = tkinter.Knapp (win, text = 'ROLL THE DICE', command = roll_the_dice)
# Ställ in knappen inuti föräldrafönstret
btn.pack (expand = True)
# Ring huvudslingan på Tkinter för att öppna huvudfönstret
vinna.mainloop ()

Produktion:

Liksom föregående exempel väljs tärningsbilden slumpmässigt varje gång du trycker på knappen. I följande utgång har tärningsbilden på sex genererats efter att manuset har körts.

Tärningsbilden av tre har genererats efter att du tryckt på knappen.

Slutsats:

Två olika sätt att skapa en tärningssimulator med Python-skript har förklarats i denna handledning. Det hjälper läsarna att veta hur denna typ av applikation kan implementeras i Python.

Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...