Изменение значения и отображение его в окне Tkinter
Как мне сделать, чтобы переменная money изменялась после каждого выпадения JOKER на +50 едениц?
from tkinter import *
import random
window = Tk()
window.title("Card Games 2")
window.geometry('1200x900')
CARDS = ("JOKER.png", "2 Пики.png", "3 Пики.png", "4 Пики.png", "5 Пики.png", "6 Пики.png", "7 Пики.png", "8 Пики.png", "9 Пики.png", "10 Пики.png", "Валет Пики.png", "Дама Пики.png", "Король Пики.png", "Туз Пики.png", "2 Бубны.png", "3 Бубны.png", "4 Бубны.png", "5 Бубны.png", "6 Бубны.png", "7 Бубны.png", "8 Бубны.png", "9 Бубны.png", "10 Бубны.png", "Валет Бубны.png", "Дама Бубны.png", "Король Бубны.png", "Туз Бубны.png", "2 Крести.png", "3 Крести.png", "4 Крести.png", "5 Крести.png", "6 Крести.png", "7 Крести.png", "8 Крести.png", "9 Крести.png", "10 Крести.png", "Валет Крести.png", "Дама Крести.png", "Король Крести.png", "Туз Крести.png", "2 Черви.png", "3 Черви.png", "4 Черви.png", "5 Черви.png", "6 Черви.png", "7 Черви.png", "8 Черви.png", "9 Черви.png", "10 Черви.png", "Валет Черви.png", "Дама Черви.png", "Король Черви.png", "Туз Черви.png")
randcard = random.choice(CARDS)
canvas = Canvas(window, width=4000, height=5000)
canvas.pack()
place_card = Label(window, text="Place for card", font=("Comic Sans MS", 18))
place_card.place(x=289, y=150)
money = 100
mon = Label(window, text="Coin:" + str(money), font=("Comic Sans MS", 25))
mon.place(x=30, y=150)
card1 = PhotoImage()
card1 = card1.subsample(3, 3)
our_label1 = Label(window)
our_label1.image = card1
our_label1['image'] = our_label1.image
our_label1.place(x=270, y=50)
def btnrandcard():
randcard = random.choice(CARDS)
card1 = PhotoImage(file=randcard)
card1 = card1.subsample(3, 3)
our_label1 = Label(window)
our_label1.image = card1
our_label1['image'] = our_label1.image
our_label1.place(x=270, y=50)
if i.get() == 1:
if randcard == "JOKER.png":
i = IntVar()
redbid = Checkbutton(window, text="JOKER", variable=i)
redbid.place(x=600, y=200)
btn = Button(window, text="Random Card", command=btnrandcard)
btn.place(x=315, y=320)
window.mainloop()
Ответы (1 шт):
Автор решения: Kaspe
→ Ссылка
Сам нашёл ответ
def btnrandcard():
global money
randcard = random.choice(CARDS)
card1 = PhotoImage(file=randcard)
card1 = card1.subsample(3, 3)
our_label1 = Label(window)
our_label1.image = card1
our_label1['image'] = our_label1.image
our_label1.place(x=270, y=50)
if i.get() == 1:
if randcard == "JOKER.png":
money += 50