4from pygaze
import libscreen
5from pygaze
import libtime
6from pygaze
import liblog
7from pygaze
import libinput
8from pygaze
import eyetracker
11disp = libscreen.Display()
12tracker = eyetracker.EyeTracker(disp)
13keyboard = libinput.Keyboard(keylist=[
'space'], timeout=
None)
15log.write([
"trialnr",
"targetpos",
"reaction_time",
"success"])
18inscreen = libscreen.Screen()
19inscreen.draw_text(text=
"¡Mira los círculos lo más rápido que puedas!\n(espacio para comenzar)", fontsize=24)
20resultscreen = libscreen.Screen()
22 1: libscreen.Screen(),
25feedbackscreens[1].draw_text(text=
"¡Buen reflejo!", colour=(0, 255, 0), fontsize=32)
26feedbackscreens[0].draw_text(text=
"¡Muy lento!", colour=(255, 0, 0), fontsize=32)
38for trialnr
in range(1, 16):
40 x = random.randint(200, constants.DISPSIZE[0] - 200)
41 y = random.randint(150, constants.DISPSIZE[1] - 150)
45 targetscreen = libscreen.Screen()
46 targetscreen.draw_circle(pos=targetpos, r=30, fill=
True)
51 disp.fill(libscreen.Screen())
53 checked = tracker.drift_correction()
56 tracker.start_recording()
57 disp.fill(targetscreen)
59 tracker.log(f
"round_{trialnr}_shown")
66 start = libtime.get_time()
67 while libtime.get_time() - start < timeout:
68 gaze = tracker.sample()
71 dist = (dx ** 2 + dy ** 2) ** 0.5
75 reaction_time = libtime.get_time() - t0
79 tracker.stop_recording()
82 disp.fill(feedbackscreens[success])
87 log.write([trialnr, targetpos, reaction_time, success])
90resultscreen.draw_text(text=f
"Juego terminado\nPuntuación: {score}/15", fontsize=32)
91disp.fill(resultscreen)