--- API: 2.1 OpenSesame: 3.2.4 Platform: nt --- set width 1024 set uniform_coordinates yes set title "New experiment" set subject_parity even set subject_nr 0 set start experiment set sound_sample_size -16 set sound_freq 48000 set sound_channels 2 set sound_buf_size 1024 set sampler_backend legacy set round_decimals 2 set mouse_backend xpyriment set keyboard_backend legacy set height 768 set fullscreen no set form_clicks no set foreground black set font_underline no set font_size 18 set font_italic no set font_family mono set font_bold no set experiment_path "D:\\" set disable_garbage_collection yes set description "The main experiment item" set coordinates uniform set compensation 0 set color_backend legacy set clock_backend legacy set canvas_backend xpyriment set background white define inline_script Execution set description "Executes Python code" ___run__ dot_canvas.show() clock.sleep(var.isi) for letter_canvas in letter_canvas_list: letter_canvas.show() clock.sleep(var.letter_dur) blank_canvas.show() clock.sleep(var.isi) button_clicked = form1._exec() if var.length == 3: form3._exec() if var.length == 4: form4._exec() if var.length == 5: form5._exec() if var.length == 6: form6._exec() if var.length == 7: form7._exec() for i in range(len(cap_text)): if cap_text[i]==letter_canvas_list[i]: var.cor = 1 else: var.cor = 0 blank_canvas.show() clock.sleep(var.isi) dot_canvas.show() clock.sleep(var.isi) __end__ ___prepare__ blank_canvas = canvas() __end__ define sketchpad blankscreen set duration 495 set description "Displays stimuli" define sketchpad cross set duration 495 set description "Displays stimuli" draw line color=black penwidth=18 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0 draw line color=black penwidth=18 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0 define inline_script dot set description "Executes Python code" set _run "" set _prepare "" define sequence experiment set flush_keyboard yes set description "Runs a number of items in sequence" run welcome always run new_sequence always define inline_script letter_sequence set description "Executes Python code" set _run "" ___prepare__ import random import string letters = list(string.ascii_uppercase) var.isi = 495 var.letter_dur = 495 stim = random.sample(letters, var.length) letter_canvas_list = [] letter_canvas = [] for i, stim in enumerate(stim): letter_canvas = canvas() letter_canvas.text(stim) letter_canvas_list.append(letter_canvas) dot_canvas = canvas() dot_canvas.fixdot(color='black') __end__ define inline_script math_problem set description "Executes Python code" set _run "" ___prepare__ import random n1 = random.randint(0,9) n2 = random.randint(0,9) n3 = random.randint(0,9) n4 = (n1*n2) + n3 if var.target == 'on': n4 = random.randint(0,9) r = [n1,n2,n3,n4] form1 = Form( cols=[1,1], rows=[1,2,1], margins=(50,100,50,100), spacing=25 ) labelTitle = Label(text=u'Question') labelQuestion = Label( text=u'Is this correct ({}*{})+{}={}?'.format(*r), center = False ) buttonYes = Button(text=u'Yes') buttonNo = Button(text=u'No') form1.set_widget(labelTitle, (0,0), colspan=2) form1.set_widget(labelQuestion, (0,1), colspan=2) form1.set_widget(buttonYes, (0,2)) form1.set_widget(buttonNo, (1,2)) __end__ define inline_script new_inline_script set description "Executes Python code" set _run "" ___prepare__ blank_canvas = canvas() start_canvas = canvas() __end__ define inline_script new_inline_script_1 set description "Executes Python code" set _run "" ___prepare__ dot_canvas = canvas() dot_canvas.fixdot(color = 'black') __end__ define inline_script new_inline_script_2 set description "Executes Python code" set _run "" set _prepare "" define logger new_logger set description "Logs experimental data" set auto_log no log first_letter log second_letter log third_letter log fourth_letter log fifth_letter log sixth_letter log seventh_letter log cor log length define loop new_loop set source_file "" set source table set repeat 1 set order random set description "Repeatedly runs another item" set cycles 10 set continuous no set break_if_on_first yes set break_if never setcycle 0 length 3 setcycle 0 target on setcycle 1 length 4 setcycle 1 target on setcycle 2 length 5 setcycle 2 target on setcycle 3 length 6 setcycle 3 target on setcycle 4 length 7 setcycle 4 target on setcycle 5 length 3 setcycle 5 target off setcycle 6 length 4 setcycle 6 target off setcycle 7 length 5 setcycle 7 target off setcycle 8 length 6 setcycle 8 target off setcycle 9 length 7 setcycle 9 target off run new_sequence_1 define sequence new_sequence set flush_keyboard yes set description "Runs a number of items in sequence" run new_loop always define sequence new_sequence_1 set flush_keyboard yes set description "Runs a number of items in sequence" run letter_sequence always run math_problem always run recall_phase always run recall_phase2 always run recall_phase3 always run recall_phase4 always run recall_phase5 always run dot always run Execution always run new_logger always define inline_script recall_phase set description "Executes Python code" ___run__ form3 = Form( cols=[1,1,1,1], rows=[1,1,1], margins=(50,100,50,100), spacing=25 ) button_ok = Button(text=u'Ok') input_first = TextInput(stub=u'1st', var=u'first_letter') input_second = TextInput(stub=u'2nd', var=u'second_letter') input_third = TextInput(stub=u'3rd', var=u'third_letter') form3.set_widget(input_first, (0,0)) form3.set_widget(input_second, (1,0)) form3.set_widget(input_third, (2,0)) form3.set_widget(button_ok, (0,2), colspan=2) text = var.first_letter + var.second_letter + var.third_letter cap_text = [i.upper() for i in text] __end__ set _prepare "" define inline_script recall_phase2 set description "Executes Python code" set _run "" ___prepare__ form4 = Form( cols=[1,1,1,1], rows=[1,1,1], margins=(50,100,50,100), spacing=25 ) button_ok = Button(text=u'Ok') input_first = TextInput(stub=u'1st', var=u'first_letter') input_second = TextInput(stub=u'2nd', var=u'second_letter') input_third = TextInput(stub=u'3rd', var=u'third_letter') input_fourth = TextInput(stub=u'4th', var=u'fourth_letter') form4.set_widget(input_first, (0,0)) form4.set_widget(input_second, (1,0)) form4.set_widget(input_third, (2,0)) form4.set_widget(input_fourth,(3,0)) form4.set_widget(button_ok,(0,2), colspan=2) text = text = var.first_letter + var.second_letter + var.third_letter + var.fourth_letter cap_text = [i.upper() for i in text] __end__ define inline_script recall_phase3 set description "Executes Python code" set _run "" ___prepare__ form5 = Form( cols=[1,1,1,1], rows=[1,1,1], margins=(50,100,50,100), spacing=25 ) button_ok = Button(text=u'Ok') input_first = TextInput(stub=u'1st', var=u'first_letter') input_second = TextInput(stub=u'2nd', var=u'second_letter') input_third = TextInput(stub=u'3rd', var=u'third_letter') input_fourth = TextInput(stub=u'4th', var=u'fourth_letter') input_five = TextInput(stub=u'5th', var=u'fifth_letter') form5.set_widget(input_first, (0,0)) form5.set_widget(input_second, (1,0)) form5.set_widget(input_third, (2,0)) form5.set_widget(input_fourth,(3,0)) form5.set_widget(input_five,(0,1)) form5.set_widget(button_ok,(0,2), colspan=2) text = text = var.first_letter + var.second_letter + var.third_letter + var.fourth_letter + var.fifth_letter cap_text = [i.upper() for i in text] __end__ define inline_script recall_phase4 set description "Executes Python code" set _run "" ___prepare__ form6 = Form( cols=[1,1,1,1], rows=[1,1,1], margins=(50,100,50,100), spacing=25 ) button_ok = Button(text=u'Ok') input_first = TextInput(stub=u'1st', var=u'first_letter') input_second = TextInput(stub=u'2nd', var=u'second_letter') input_third = TextInput(stub=u'3rd', var=u'third_letter') input_fourth = TextInput(stub=u'4th', var=u'fourth_letter') input_five = TextInput(stub=u'5th', var=u'fifth_letter') input_six = TextInput(stub=u'6th', var=u'sixth_letter') form6.set_widget(input_first, (0,0)) form6.set_widget(input_second, (1,0)) form6.set_widget(input_third, (2,0)) form6.set_widget(input_fourth,(3,0)) form6.set_widget(input_five,(0,1)) form6.set_widget(input_six,(1,1)) form6.set_widget(button_ok,(0,2), colspan=2) text = text = var.first_letter + var.second_letter + var.third_letter + var.fourth_letter + var.fifth_letter + var.sixth_letter cap_text = [i.upper() for i in text] __end__ define inline_script recall_phase5 set description "Executes Python code" set _run "" ___prepare__ form7 = Form( cols=[1,1,1,1], rows=[1,1,1], margins=(50,100,50,100), spacing=25 ) button_ok = Button(text=u'Ok') input_first = TextInput(stub=u'1st', var=u'first_letter') input_second = TextInput(stub=u'2nd', var=u'second_letter') input_third = TextInput(stub=u'3rd', var=u'third_letter') input_fourth = TextInput(stub=u'4th', var=u'fourth_letter') input_five = TextInput(stub=u'5th', var=u'fifth_letter') input_six = TextInput(stub=u'6th', var=u'sixth_letter') input_seven = TextInput(stub=u'7th', var=u'seventh_letter') form7.set_widget(input_first, (0,0)) form7.set_widget(input_second, (1,0)) form7.set_widget(input_third, (2,0)) form7.set_widget(input_fourth,(3,0)) form7.set_widget(input_five,(0,1)) form7.set_widget(input_six,(1,1)) form7.set_widget(input_seven,(2,1)) form7.set_widget(button_ok,(0,2), colspan=2) text = text = text = var.first_letter + var.second_letter + var.third_letter + var.fourth_letter + var.fifth_letter + var.sixth_letter + var.seventh_letter cap_text = [i.upper() for i in text] __end__ define sketchpad welcome set start_response_interval no set reset_variables no set duration keypress set description "Displays stimuli" draw textline center=1 color=black font_bold=bold font_family=mono font_italic=no font_size=24 html=yes show_if=always text="Welcome to Operation span task" x=0 y=-288 z_index=0 draw textline center=1 color=black font_bold=bold font_family=mono font_italic=no font_size=20 html=yes show_if=always text="Some letters will be showm on the screen this will be followed by a simple arthimatic question. After solving this arthimatic question a sequence of letters will be shown. The letter in the sequence will be similar but the order of the letters can be different. If the order of the letter are different then you have press z and if the order of the letters is same as the previous one you have to press . " x=0 y=-160 z_index=0 draw textline center=1 color=black font_bold=bold font_family=mono font_italic=no font_size=24 html=yes show_if=always text="Press any key to proceed" x=0 y=0 z_index=0