moosepasteinventor Posted April 16, 2010 Share Posted April 16, 2010 I wrote a die rolling program in Python 3's tkinter library, mainly intended for D&D and other D20 systems.Here is the code:from tkinter import * class RollTheDice: def __init__(self, parent): self.dieParent = parent self.dieContainer = Frame(parent).pack() self.dieLabel = Label(self.dieContainer, text="Number of Dice you will be rolling:") self.dieLabel.pack(side=TOP) self.dieEntry = Entry(self.dieContainer) self.dieEntry.pack(side=TOP) self.sideLabel = Label(self.dieContainer, text="Number of Sides per Die:") self.sideLabel.pack(side=TOP) self.sideEntry = Entry(self.dieContainer) self.sideEntry.pack(side=TOP) self.modLabel = Label(self.dieContainer, text="Number you will be adding to the roll (modifier):") self.modLabel.pack(side=TOP) self.modEntry = Entry(self.dieContainer) self.modEntry.pack(side=TOP) global rolldisp rolldisp = StringVar() self.rollResult = Label(self.dieContainer, textvariable=rolldisp) self.rollResult.pack(side=TOP) self.diceButton = Button(self.dieContainer) self.diceButton.configure(text="Roll the Dice!", background="green") self.diceButton.pack(side=LEFT) self.diceButton.bind("<Button-1>", self.diceButtonClick) self.diceButton.bind("<Return>", self.diceButtonClick) self.quitButton = Button(self.dieContainer) self.quitButton.configure(text="Quit", background="red") self.quitButton.pack(side=RIGHT) self.quitButton.bind("<Button-1>", self.quitButtonClick) self.quitButton.bind("<Return>", self.quitButtonClick) def diceButtonClick(self, event): die = int(self.dieEntry.get()) side = int(self.sideEntry.get()) mod = int(self.modEntry.get()) DieRoll(die, side, mod) def quitButtonClick(self, event): self.dieParent.destroy() def DieRoll(dice, sides, mods): import random rollnumber = 1 runningtotal = 0 endresult = "" while rollnumber <= dice: roll = random.randint(1, sides) endresult += "Roll #" endresult += str(rollnumber) endresult += ": " endresult += str(roll) endresult += "\n" runningtotal += roll rollnumber += 1 total = runningtotal + mods finalresult = "Your Roll:\n" finalresult += endresult finalresult += "Total:" finalresult += str(total) rolldisp.set(finalresult) root = Tk() root.title("GUI Die Roller by MoosePasteInventor") myapp = RollTheDice(root) root.mainloop() I'd love some feedback, so what do you think about my first real programming project? Amazing NEW MoosePaste! The toothpaste made by, for, and from MOOSE! Order NOW! Call 1-800-55-MOOSE!(side effects may include nausea and loss of appetite. restrictions apply, results may vary. no Moose are harmed in the making of MoosePaste. each sold separately, batteries not included. warning: does not exist) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now