Python: как мне использовать btn_roll.grid_remove внутри отдельной функции? - PullRequest
0 голосов
/ 26 мая 2020

Как мне указать 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...