Beeldverwerkingsmodule installeren:
De module voor beeldverwerking is vereist als u de simulator voor het rollen van dobbelstenen wilt maken met GUI. Voer de volgende opdrachten uit vanaf de terminal om de pip bij te werken en de Pillow-module te installeren:.
$ python3 -m pip install --upgrade pip$ python3 -m pip install --upgrade Pillow
Voorbeeld-1: Een eenvoudige simulator voor het rollen van dobbelstenen maken
In deze zelfstudie kan een eenvoudige simulator voor het rollen van dobbelstenen worden gemaakt met behulp van de willekeurige module van Python. Dit script genereert de dobbelsteenuitvoer in de terminal. Er wordt dus geen beeldverwerkingsmodule gebruikt in het script. Een variabele met de naam Dobbelsteen wordt gebruikt om willekeurig een willekeurig getal van 1 tot 6 te nemen. De roll_the_dice() functie wordt hier gedefinieerd om de uitvoer te genereren op basis van de willekeurige waarde. De oneindige while-lus wordt in het script gebruikt om de dobbelstenen oneindig vaak te gooien totdat de gebruiker iets typt zonder 'y'.
# Import willekeurige modulewillekeurig importeren
# Definieer oneindige lus
terwijl waar:
# Genereer een willekeurig getal tussen 1 en 6
dobbelstenen = willekeurig.randint(1, 6)
# Definieer de functie om de uitvoer af te drukken op basis van de dobbelsteenwaarde
def roll_the_dice(dice):
wisselaar =
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 ]"
terugkeer switcher.krijgen (dobbelstenen)
# Roep de functie aan
print(roll_the_dice(dice))
# Vraag de gebruiker om de dobbelstenen opnieuw te gooien
answer = input("Wil je de dobbelstenen opnieuw gooien(y/n)? : ")
# Beëindig de lus als de gebruiker iets typt zonder 'y'
als antwoord != 'j':
uitgang(0)
Uitgang:
De uitvoer van het bovenstaande script zal variëren in elke iteratie van de lus voor het gebruik van willekeurige gehele getallen. In de volgende uitvoer wordt 5 gegenereerd in de eerste iteratie van de weergegeven lus met 5 nullen. Vervolgens typte de gebruiker 'j' om de lus voort te zetten, en 4 heeft gegenereerd in de tweede iteratie van de lus en de waarde weergegeven met nullen zoals eerder. Het script is beëindigd wanneer de gebruiker typt 'n'.
Voorbeeld-2: Maak een simulatie voor het rollen van dobbelstenen met afbeeldingen
U moet zes dobbelstenenafbeeldingen maken voordat u het script van het voorbeeld uitvoert. U kunt de afbeeldingen maken met elke toepassing voor het maken van afbeeldingen. De volgende zes afbeeldingen zijn gemaakt om te gebruiken in het script van dit voorbeeld. Bewaar de afbeeldingen op dezelfde locatie waar u het python-bestand maakt om de simulator te implementeren.
De manier om een dobbelsteen-rollensimulator met GUI te maken, wordt getoond in het volgende script:. Er zijn veel modules in Python om GUI-applicaties te maken. De Tkinter-module wordt in dit script gebruikt om een op GUI gebaseerde simulator voor het rollen van dobbelstenen te implementeren implement. Beeld en AfbeeldingTk modules worden in het script gebruikt om dobbelstenenafbeeldingen weer te geven. De willekeurig module wordt gebruikt om de afbeelding van de dobbelsteen willekeurig te selecteren. Aan het begin van het script is het Tkinter-object gemaakt om de venstergrootte en positie te definiëren waar de afbeelding van de dobbelsteen wordt weergegeven. Hier is de raampositie centraal ingesteld. Vervolgens is een lijstvariabele gedeclareerd met de afbeeldingsnamen van de zes dobbelstenen. willekeurig.De functie choice() wordt gebruikt om willekeurig één index van de afbeeldingsnaam uit de lijst te selecteren en de afbeeldingsnaam te verkrijgen op basis van de indexwaarde. expand=True heeft in de pack()-functie gebruikt om extra ruimte toe te voegen bij het toevoegen van een widget in het venster. Er is een label in het venster toegevoegd om de afbeelding van de dobbelsteen weer te geven en er is een knop in het venster toegevoegd om de volgende afbeelding van de dobbelsteen weer te geven. De roll_the_dice() functie is gekoppeld aan de knop om de volgende dobbelsteenafbeelding te genereren. Deze functie wordt aangeroepen wanneer de gebruiker op de drukt of klikt 'ROL DE DICE' knop.
# Importeer Tkinter-moduleimport tkinter
# Importeer Image- en ImageTk-modules
van PIL import Image, ImageTk
# Import willekeurige module
willekeurig importeren
# Definieer object om het hoofdvenster van de applicatie weer te geven
win = tkinter.Tk()
# Stel de titel van het hoofdvenster in
winnen.titel('Rolling Dobbelstenen')
# Stel de hoogte en breedte van het hoofdvenster in
winnen.geometrie('350x280')
# Stel de positie van het venster in
winnen.eval('tk::PlaceWindow . centrum')
# Definieer een lijst met de namen van de zes dobbelstenen
dice_images = ['d1.png', 'd2.png', 'd3.png', 'd4.png', 'd5.png', 'd6.png']
# Genereer een willekeurige index binnen 0 tot 6 willekeurig om de huidige dobbelsteenafbeelding te krijgen
img= ImageTk.FotoAfbeelding (Afbeelding).open(willekeurig).keuze(dice_images)))
# Definieer label om de geselecteerde afbeelding weer te geven
lbl_image = tkinter.Label(win, afbeelding=img)
lbl_image.afbeelding = afbeelding
# Stel de labelwidget in het bovenliggende venster in
lbl_image.pack (uitbreiden = True)
# Definieer functie om de afbeelding van de dobbelsteen te veranderen wanneer op de knop wordt geklikt
def roll_the_dice():
img= ImageTk.FotoAfbeelding (Afbeelding).open(willekeurig).keuze(dice_images)))
# afbeelding bijwerken
lbl_image.configureren(afbeelding=img)
# bewaar een referentie
lbl_image.afbeelding = afbeelding
"
Definieer de knop, stel de knoptekst in en stel de opdracht in
om de functie roll_the_dice() aan te roepen
"
btn = tkinter.Button (win, text='ROLL THE DICE', command=roll_the_dice)
# Stel de knop in het bovenliggende venster in
btn.pack (uitbreiden = True)
# Roep de hoofdlus van Tkinter op om het hoofdvenster te openen
winnen.Hoofdlus()
Uitgang:
Net als in het vorige voorbeeld, wordt de afbeelding van de dobbelsteen willekeurig geselecteerd elke keer dat de knop wordt ingedrukt. In de volgende uitvoer is de dobbelsteenafbeelding van zes gegenereerd na het uitvoeren van het script:.
De dobbelsteenafbeelding van drie is gegenereerd na het indrukken van de knop.
Conclusie:
In deze tutorial zijn twee verschillende manieren uitgelegd om een simulator voor het rollen van dobbelstenen te maken met behulp van het Python-script. Het zal de lezers helpen om te weten hoe dit type applicatie kan worden geïmplementeerd in Python.