import expyriment from expyriment import design, control, stimuli, misc from generators import nb_gm_002 nback_sequence = nb_gm_002.SequenceGenerator().generate() exp = design.Experiment("Skewed N-Back Task") control.initialize(exp) exp.data_variable_names = ["block", "stimulus", "pressed_key", "rt"] fixation = stimuli.FixCross() fixation.preload() # left and right arrow keys for responses response_keys = [misc.constants.K_LEFT, misc.constants.K_RIGHT] expyriment.control.start(exp) # initialize three blocks for b in range(0, 2): block = design.Block() block.set_factor("block", b) for item in nback_sequence: trial = design.Trial() trial.set_factor("stimulus", item) stim = stimuli.TextLine(item, text_size=200) stim.preload() trial.add_stimulus(stim) block.add_trial(trial, random_position=False) exp.add_block(block) for block in exp.blocks: for trial in block.trials: exp.clock.wait(1000 - fixation.present()) trial.stimuli[0].present() pressed_key, rt = exp.keyboard.wait(response_keys) exp.data.add([block.get_factor("block"), trial.get_factor("stimulus"), pressed_key, rt]) exp.clock.wait(1000 - expyriment.stimuli.BlankScreen().present() - trial.stimuli[0].unload()) expyriment.control.end("Goodbye!", goodbye_delay=1000)