--- API: 2 OpenSesame: 3.1.9b1 Platform: posix --- 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 576 set fullscreen no set form_clicks no set foreground white set font_underline no set font_size 18 set font_italic no set font_family mono set font_bold no set experiment_path "/home/ede/Downloads" 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 bidi no set background black define form_text_input Announcement_rule set timeout infinite set spacing 10 set rows "1;1;6" set only_render no set margins "50;50;50;50" set form_var answer_given set form_title Answer set form_question "I think the rule is..." set description "A simple text input form" set cols 1 set _theme gray widget 0 0 1 1 label text="[form_title]" widget 0 1 1 1 label center=no text="[form_question]" widget 0 2 1 1 text_input focus=yes return_accepts=yes stub="" var="[form_var]" define inline_script Proposing_triplet set description "Executes Python code" ___run__ #place widgets on the screen #row = 0 #for row in range(5): #if var.answer == 'no': #form.set_widget(label_1, (0, row)) for fI,f in enumerate(prevWidget): form.set_widget(f,(3,1 + fI)) form.set_widget(conforms, (5,0)) form.set_widget(text_input, (0,var.row)) form.set_widget(text_input_2, (1,var.row)) form.set_widget(text_input_3, (2,var.row)) form.set_widget(button, (3,7)) form.set_widget(answer, (3,8)) form._exec() if var.response1 < var.response2 < var.response3: form.set_widget(yes, (5, var.row)) else: form.set_widget(no, (5,var.row)) form._exec() var.row = var.row + 1 var.prevResp.append([var.response1,var.response2,var.response3]) __end__ ___prepare__ # Import the widgets library from libopensesame import widgets # Create a form form = widgets.form(exp, cols=[1,1,1,2,1,1,1,1], rows=[1,1,1,1,1,1,1,1,1], margins=(25,50,25,50), spacing=5) # return_accepts=True --> als je op enter klikt ga je door naar volgende scherm # make widgets prevWidget = [] for r in var.prevResp: prevWidget.append(widgets.label(form, text='%s-%s-%s'%tuple(r))) conforms = widgets.label(form, text='Conforms?') yes = widgets.label(form, text='Yes', center=True) no = widgets.label(form, text='No', center=True) text_input = widgets.text_input(form, var='response1', return_accepts=False, stub='-') text_input_2 = widgets.text_input(form, var='response2', stub='-') text_input_3 = widgets.text_input(form, var='response3', stub='-') button = widgets.button(form, text='OK!', frame=True, center=True) answer = widgets.button(form, text='I know the rule!', frame=True, center = True, var='answer') __end__ define feedback conformingtriplet set reset_variables yes set duration keypress set description "Provides feedback to the participant" draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="[response1]" x=-416 y=-160 z_index=0 draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="[response2]" x=-256 y=-160 z_index=0 draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="[response3]" x=-96 y=-160 z_index=0 draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text=Yes x=160 y=-160 z_index=0 define sequence experiment set flush_keyboard yes set description "Runs a number of items in sequence" run setting_variables always run new_loop always run Announcement_rule "[answer] = yes" define notepad getting_started __note__ Welcome to OpenSesame 3.1 "Jazzy James"! If you are new to OpenSesame, it is a good idea to follow one of the tutorials, which can be found on the documentation site: - You can also check out the examples. These can be opened via: - Menu -> Tools -> Example experiments. And feel free to ask for help on the forum: - Have fun with OpenSesame! __end__ set description "A simple notepad to document your experiment. This plug-in does nothing." define form_text_display new_form_text_display set timeout infinite set spacing 10 set rows "1;4;1" set only_render no set ok_text Ok set margins "50;50;50;50" set form_title "Title" set form_text "Hello, this is [var.response1]" set description "A simple text display form" set cols "1;1;1" set _theme gray widget 0 0 3 1 label text="[form_title]" widget 0 1 3 1 label center=no text="[form_text]" widget 1 2 1 1 button text="[ok_text]" define inline_script new_inline_script_2 set description "Executes Python code" ___run__ my_canvas = canvas() my_canvas.text('response is %s' % var.response1) my_canvas.show() clock.sleep(1000) __end__ set _prepare "" define logger new_logger set description "Logs experimental data" set auto_log no log response1 log response2 log response3 define loop new_loop set source table set repeat 3 set order random set description "Repeatedly runs another item" set cycles 1 set continuous no set break_if_on_first yes set break_if "[answer] = yes" setcycle 0 empty_column "" run new_sequence define sequence new_sequence set flush_keyboard yes set description "Runs a number of items in sequence" run Proposing_triplet always run new_logger always define feedback non_conformingtriplet set reset_variables yes set duration keypress set description "Provides feedback to the participant" draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="[response1]" x=-416 y=-160 z_index=0 draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="[response2]" x=-256 y=-160 z_index=0 draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="[response3]" x=-96 y=-160 z_index=0 draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text=No x=96 y=-160 z_index=0 define inline_script setting_variables set description "Executes Python code" set _run "" ___prepare__ # define the answer variable. This makes sure that when the 'I know the rule' button is pushed, the loop sequence is broken. var.answer = u'no' # set response variables to 2-4-6, the starting sequence of the Wason task. var.response1 = u'2' var.response2 = u'4' var.response3 = u'6' # set row variable to 1 --> voorkomen dat het van het scherm afgaat door if statement toe te voegen, als row > ... dan row =1. var.row = 1 var.prevResp = [] __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=white font_bold=no font_family=serif font_italic=no font_size=32 html=yes show_if=always text="OpenSesame 3.1 Jazzy James" x=0 y=0 z_index=0