---
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