Witam, mam problem z zmienną "pkt", i wyskakuje błąd. Proszę o pomoc
0
2
pkt + 1 = pkt
=> pkt = pkt + 1
3
Poczytaj o zasięgu zmiennych.
W funkcjach zmienna 'pkt' to zmienna lokalna, co znaczy że z 'pkt' zadeklarowanym przed nimi nie ma nic wspólnego.
0
gotowy kod: https://code.skript.pl/DdX6zcCl
import tkinter
import random
root = tkinter.Tk()
root.geometry("500x500")
root.title("AimTraining by PawełeK.")
root.configure(bg='orange')
pkt = 0
def xd():
b.place(x=random.randint(0, 450),y=random.randint(0, 450))
global pkt
pkt = pkt + 1
print(pkt)
def xd2():
b2.place(x=random.randint(0, 450), y=random.randint(0, 450))
global pkt
pkt = pkt + 1
print(pkt)
def xd3():
global pkt
pkt = pkt + 1
print(pkt)
def xd4():
b4.place(x=random.randint(0, 450), y=random.randint(0, 450))
global pkt
pkt = pkt + 1
print(pkt)
b = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd)
b.pack()
b.place(x=random.randint(0, 450),y=random.randint(0, 450))
b2 = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd2)
b2.pack()
b2.place(x=random.randint(0, 450),y=random.randint(0, 450))
b3 = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd3)
b3.pack()
b3.place(x=random.randint(0, 450),y=random.randint(0, 450))
b4 = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd4)
b4.pack()
b4.place(x=random.randint(0, 450),y=random.randint(0, 450))
root.mainloop()
0
Trochę przydługawy ten krótki kod ;) Przestań używać ctrl+c ctrl+v :)
xd3 u Ciebie nie zmienia pozycji, ale zakładam, że to przypadkowo.
import tkinter
import random
root = tkinter.Tk()
root.geometry("500x500")
root.title("AimTraining by PawełeK.")
root.configure(bg='orange')
pkt = 0
def xd(event):
event.widget.place(x=random.randint(0, 450),y=random.randint(0, 450))
global pkt
pkt = pkt + 1
print(pkt)
for i in range(4):
btn = tkinter.Button(root, bg='#69e5ae', height=4, width=8)
btn.pack()
btn.bind('<Button-1>', xd)
btn.place(x=random.randint(0, 450),y=random.randint(0, 450))
root.mainloop()