Как мне указать btn_roll в отдельной функции? У меня возникли проблемы с удалением кнопки после нажатия, а также с тем, чтобы она делала то, что ей нужно! Насколько я понимаю, это только локально внутри функции, как мне это изменить?
Любое предложение было бы полезным!
import random
import tkinter as tk
from playervalues import playervalues as pv
def attackp2():
pv.player2hp = pv.player2hp - pv.rollgenerate
roll_result["text"] = "Player 2 hp is now " + str(pv.player2hp) + "!"
pv.player1roll = True
rollmasterfunc2()
>>>>>>this is where I would like to put btn_roll.grid_remove
def healp1():
pv.player1hp = pv.player1hp + pv.rollgenerate
pv.player1roll = True
rollmasterfunc2()
>>>>>>this is where I would like to put btn_roll.grid_remove
#set up GUIwindow
window = tk.Tk()
window.title("Gamething")
window.columnconfigure(0, minsize=1000)
window.rowconfigure([0, 0], minsize=200)
def roll():
pv.rollgenerate = random.randrange(1,200)#set pv.rollgenerate to random value between 1 & 200
roll_result["text"] = "You rolled " + str(pv.rollgenerate) + ", would you like to " \
"heal yourself or attack the other player?"
btn_atk = tk.Button(text="Attack", command=attackp2)
btn_atk.grid(row=0, column=0) # where roll result print is
btn_hl = tk.Button(text="Heal", command=healp1)
btn_hl.grid(row=2, column=0) # where roll result print is
def rollmasterfunc():
btn_roll = tk.Button(text="Roll", command= roll)
if pv.player1roll == False:
btn_roll.grid(row=0, column=0) # where roll result print is
elif pv.player1roll == True:
btn_roll = tk.Button(text="Roll", command= roll)
btn_roll.grid(row=0, column=0) # where roll result print is
def rollmasterfunc2():
btn_roll = tk.Button(text="Roll", command= roll)
if pv.player1roll == False:
btn_roll.grid(row=0, column=0) # where roll result print is
elif pv.player1roll == True:
btn_roll = tk.Button(text="Roll", command= roll)
btn_roll.grid(row=0, column=0) # where roll result print is
roll_result = tk.Label() # roll print
roll_result.grid(row=4, column=0)#where roll result print is
rollmasterfunc()
window.mainloop()