ich hab mit Tkinter einen kleinen Reaktionstest geschrieben.
Habt ihr Ideen zum Verbessern, Erweitern, Ändern usw.?
Hier ist der Code:
Code: Alles auswählen
from Tkinter import*
from random import*
from time import*
from thread import*
class tag:
def __init__(self,canvas,label):
self.canvas=canvas
self.label=label
self.coord=randint(1,250)
self.rechteck=self.canvas.create_rectangle(self.coord,self.coord,\
self.coord+20,self.coord+20,fill='red')
self.zeit1=time()
def bind(self):
self.canvas.tag_bind(self.rechteck,'<Button-1>',self.reg)
def reg(self,e):
self.zeit2=time()
self.canvas.tag_bind(self.rechteck,'<Button-1>',self.nothing)
self.zeit3=self.zeit2-self.zeit1
self.label.config(text='Zeit: %.4f Sekunden'%self.zeit3)
def nothing(self,e):
pass
def run(canvas,label):
sek=0
liste=[1,0,0,0,0,1]
while 1:
label.config(text='Sekunden: %i'%sek)
z=choice(liste)
if z==1:
instanz=tag(canvas,label)
instanz.bind()
break
sleep(1.0)
sek=sek+1
root=Tk()
root.title('Reaktionstest')
canvas=Canvas(root,width=250,height=250,bg='white')
canvas.pack()
label=Label(root,text='',relief=SUNKEN,bg='white',width=25)
label.pack(padx=5,pady=5)
ende=Button(root,text='ENDE',command=root.destroy)
ende.pack()
start_new_thread(run,(canvas,label))
root.mainloop()
Feliks