def __init__(self, parent, app): self.f = tk.Frame(parent) self.name = util.labeledEntry(self.f, "Character Name", 0, 0) self.level = util.labeledEntry(self.f, "Level", 2, 0) self.casterlevel = util.labeledEntry(self.f, "Caster Level", 4, 0) self.Class = util.labeledEntry(self.f, "Class", 6, 0) self.maxhp = util.labeledEntry(self.f, "Maximum HP", 8, 0)
def __init__(self, master): self.master = master self.win = tk.Toplevel() self.name = util.labeledEntry(self.win, 'Enter name', 0, 0) self.ac = util.labeledEntry(self.win, 'Enter AC', 2, 0) self.hp = util.labeledEntry(self.win, 'Enter HP as valid roll', 4, 0) self.av = tk.BooleanVar() self.average = tk.Checkbutton(self.win, text="Take average?", variable=self.av) self.average.grid(row=5, column=1) self.abil = tk.Frame(self.win) self.abil.grid(row=6, column=0) abilities = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA'] self.entries = [] labels = [] for (i, n) in enumerate(abilities): self.entries.append(util.labeledEntry(self.abil, n, (i // 3) * 2, i % 3, width=4)) self.resolve = tk.Button(self.win, text='Finish', command=lambda: self.finish(self.master)) self.resolve.grid(row=9, column=0) self.copy()
def __init__(self, master): self.win = tk.Toplevel() self.master = master self.name = util.labeledEntry(self.win, "Character Name", 0, 0) self.initiative = util.labeledEntry(self.win, "Initiative Score", 2, 0) self.finish = tk.Button(self.win, text="Finish", command=lambda: self.end()) self.finish.grid(row=4, column=0)
def __init__(self, master, app): self.parent = master self.top = app self.f = tk.Frame(master, bd=2, relief="sunken") self.attack = util.labeledEntry(self.f, 'Attack method', 0, 0) self.attack.bind("<Return>", lambda event: self.doAttack()) self.adv = tk.BooleanVar() self.dis = tk.BooleanVar() hasAdvantage = tk.Checkbutton(self.f, text="Advantage?", variable=self.adv) hasAdvantage.grid(row=0, column=1, sticky="w") hasDisadvantage = tk.Checkbutton(self.f, text="Disadvantage?", variable=self.dis) hasDisadvantage.grid(row=1, column=1, sticky="w") bonuses = tk.Frame(self.f, pady=5) bonuses.grid(row=2, column=0) self.attackBonus = util.labeledEntry(bonuses, "Attack bonus", 0, 0, orient='h', width='8') self.damageBonus = util.labeledEntry(bonuses, "Damage bonus", 1, 0, orient='h', width='8') self.do = tk.Button(self.f, text="ATTACK", command=lambda: self.doAttack()) self.do.grid(row=2, column=1) self.attackResult = tk.Label(self.f) self.attackResult.grid(row=3, column=0) self.damageResult = tk.Label(self.f) self.damageResult.grid(row=4, column=0) self.effects = tk.Label(self.f) self.effects.grid(row=5, column=0)
def __init__(self, master, popWindow): self.win = popWindow self.master = master self.question = util.labeledEntry(self.win, "Enter character name\n" "as it appears in the file", 0, 0) self.accept = tk.Button(self.win, text="Accept", command=lambda:self.verify()) self.accept.grid(row=2, column=0)
def __init__(self, master, app): self.parent = master self.top = app self.f = tk.Frame(master) self.name = util.labeledEntry(self.f, 'Character Name', 0, 0) self.name.bind("<Return>", lambda event: self.LOAD()) self.level = util.labeledEntry(self.f, 'Character Level', 2, 0) self.casterLevel = util.labeledEntry(self.f, 'Caster Level', 4, 0) self.Class = util.labeledEntry(self.f, 'Class', 6, 0) buttons = tk.Frame(self.f) buttons.grid(row=8, column=0) self.load = tk.Button(buttons, text="Load character\nfrom file", command=lambda: self.LOAD()) self.load.grid(row=0, column=0) self.initialize = tk.Button(buttons, text="Initialize\ncharacter", command=lambda: self.INITIALIZE()) self.initialize.grid(row=0, column=1)
def __init__(self, master, app): self.parent = master self.f = tk.Frame(master) self.generalRoll = util.labeledEntry(self.f, 'Dice to roll?', 0, 0) self.generalRoll.bind("<Return>", lambda event: self.doRoll()) self.button = tk.Button(self.f, text="ROLL", command=lambda: self.doRoll()) self.button.grid(row=2, column=1) self.result = tk.Label(self.f) self.result.grid(row=2, column=0)
def __init__(self, parent, app): self.f = tk.Frame(parent) self.names = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA'] self.entries = [] for (i, n) in enumerate(self.names): self.entries.append(util.labeledEntry(self.f, n, i * 2, 0, orient='h', width=4))
def __init__(self, parent, app): self.top = app self.f = tk.Frame(parent) self.name = util.labeledEntry(self.f, "Weapon Name", 2, 0) self.dice = util.labeledEntry(self.f, "Damage Dice", 4, 0) self.abil = util.labeledEntry(self.f, "Ability Used", 6, 0) self.mult = util.labeledEntry(self.f, "Attacks per Action", 8, 0) self.magi = util.labeledEntry(self.f, "Magic Bonus", 10, 0) self.roll = util.labeledEntry(self.f, "Make Attack Roll?", 12, 0) self.ammo = util.labeledEntry(self.f, "Ammunition", 14, 0) self.effc = util.labeledEntry(self.f, "Additional Information", 16, 0) self.make = tk.Button(self.f, text='Make', command=lambda: self.build()) self.make.grid(row=18, column=0)
def __init__(self, parent, app): self.top = app self.f = tk.Frame(parent) self.name = util.labeledEntry(self.f, "Spell Name", 2, 0) self.level = util.labeledEntry(self.f, "Spell Level", 4, 0) self.abil = util.labeledEntry(self.f, "Ability Used", 6, 0) self.dice = util.labeledEntry(self.f, "Damage Dice", 8, 0) self.addabil = util.labeledEntry( self.f, "Add Ability Modifier\nto Damage?", 10, 0) self.roll = util.labeledEntry(self.f, "Make Attack Roll?", 12, 0) self.save = util.labeledEntry( self.f, "Saving Throw Type\n(If Applicable)", 14, 0) self.mult = util.labeledEntry(self.f, "Attacks per Action", 16, 0) self.effects = util.labeledEntry(self.f, "Additional Information", 18, 0) self.make = tk.Button(self.f, text='Make', command=lambda: self.build()) self.make.grid(row=20, column=0)
def __init__(self, master, app): self.parent = master self.f = tk.Frame(self.parent, bd=2, relief="sunken") self.max = util.labeledEntry(self.f, 'Maximum HP', 0, 0, width=5) self.current = util.labeledEntry(self.f, 'Current HP', 0, 1, width=5) self.amount = util.labeledEntry(self.f, 'HP Change\nas integer or roll', 2, 0, width=10, orient='h') self.amount.bind('<Return>', lambda event: self.changeHP(False)) self.temp = util.labeledEntry(self.f, '+Temporary HP', 0, 2, width=5) buttons = tk.Frame(self.f, pady=15) buttons.grid(row=2, column=2) self.alterHP = tk.Button(buttons, text='Alter\nHP', command=lambda: self.changeHP(False)) self.alterHP.grid(row=0, column=0) self.addtemp = tk.Button(buttons, text='Add to\ntemp HP', command=lambda: self.changeHP(True)) self.addtemp.grid(row=0, column=1)
def __init__(self, master, app): self.parent = master self.f = tk.Frame(master) self.calc = tk.Button(self.f, text="Calculate\nModifiers", command=lambda: self.calcModifiers()) self.calc.grid(row=6, column=2) abilitynames = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA'] self.modlabels = [tk.Label(self.f) for x in range(6)] self.entries = [] for (i, l) in enumerate(abilitynames): self.entries.append(util.labeledEntry(self.f, l, i, 0, orient='h', width=4))
def __init__(self, master, monster): self.creature = monster self.f = tk.Frame(master, pady=10, bd=2, relief="groove") notattack = tk.Frame(self.f) notattack.grid(row=0, column=0) ############################# namesec = tk.Frame(notattack) namesec.grid(row=0, column=0) self.nameL = tk.Label(namesec, text=monster.name, font="Calibri 18") self.nameL.grid(row=0, column=0, sticky='w') xpL = tk.Label(namesec, text='Initiative: ' + str(monster.initiative)) xpL.grid(row=0, column=1, sticky='e') ############################## hpsec = tk.Frame(notattack) hpsec.grid(row=1, column=1) hpLsec = tk.Frame(notattack) hpLsec.grid(row=0, column=1) self.hpL = tk.Label(hpLsec, text='HP: ' + str(monster.HP), font='Calibri 18') self.hpL.grid(row=0, column=0, sticky='w') self.acL = tk.Label(hpLsec, text=' AC: ' + monster.AC, font='Calibri 16') self.acL.grid(row=0, column=1, sticky='e') hpmain = tk.Frame(hpsec) hpmain.grid(row=1, column=0) self.change = util.labeledEntry(hpmain, 'Change in HP', 0, 0) hpdo = tk.Button(hpmain, text='Change', command=lambda: self.changeHP()) hpdo.grid(row=1, column=1) ################################# attacksec = tk.Frame(self.f) attacksec.grid(row=1, column=0) attacknotresult = tk.Frame(attacksec) attacknotresult.grid(row=0, column=0) self.attackE = util.labeledEntry(attacknotresult, 'Attack Modifiers', 0, 0, orient='h', pos='w', width=15) self.damageE = util.labeledEntry(attacknotresult, 'Damage', 1, 0, orient='h', pos='w', width=15) perform = tk.Button(attacknotresult, text="Attack", command=lambda: self.doattack()) perform.grid(row=1, column=2) advsec = tk.Frame(attacknotresult) advsec.grid(row=0, column=2) self.advantage = tk.BooleanVar() self.disadvantage = tk.BooleanVar() hasAdvantage = tk.Checkbutton(advsec, text="Advantage?", variable=self.advantage) hasAdvantage.grid(row=0, column=1, sticky="w") hasDisadvantage = tk.Checkbutton(advsec, text="Disadvantage?", variable=self.disadvantage) hasDisadvantage.grid(row=1, column=1, sticky="w") self.attackresult = tk.Label(attacksec) self.attackresult.grid(row=1, column=0) self.damageresult = tk.Label(attacksec) self.damageresult.grid(row=2, column=0) ############################################ abilframe = tk.Frame(notattack) abilframe.grid(row=1, column=0) abilnames = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA'] for i in range(len(abilnames)): tk.Label(abilframe, text=abilnames[i]).grid(row=(i // 3) * 2, column=i % 3) tk.Label(abilframe, text=str(self.creature.abilities[i]) + " (" + str( modifier(self.creature.abilities[i])) + ")").grid( row=(i // 3) * 2 + 1, column=i % 3)