Python

Bouw een simulator voor het rollen van dobbelstenen in Python

Bouw een simulator voor het rollen van dobbelstenen in Python
De dobbelsteen is een eenvoudige kubus die elk nummer van 1 tot 6 genereert, en de dobbelsteensimulator is een computermodel dat de dobbelstenen voor de gebruiker gooit. Een simulator voor het rollen van dobbelstenen kan door Python op verschillende manieren worden geïmplementeerd. Er zijn zes afbeeldingen nodig om te maken die in de simulator zullen worden gebruikt. De Pillow-module van Python wordt gebruikt om elke afbeelding in Python weer te geven die niet standaard is geïnstalleerd. De simulator voor het rollen van dobbelstenen kan worden geïmplementeerd zonder GUI en GUI, zoals weergegeven in deze tutorial.

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 module
willekeurig 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-module
import 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.

HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...
Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...