---
API: 2.1
OpenSesame: 3.3.10
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 round_decimals 2
set height 768
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 None
set disable_garbage_collection yes
set description "The main experiment item"
set coordinates uniform
set compensation 0
set canvas_backend psycho
set background black
define sketchpad Fixation_2_1_1_1
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sketchpad Fixation_2_2
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sketchpad Fixation_2_3
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sketchpad Fixation_2_4
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sequence Trail
set flush_keyboard yes
set description "Runs a number of items in sequence"
run list1 "[L] ==1"
run list2 "[L] ==2"
run list3 "[L] ==3"
run list4 "[L] ==4"
run list5 "[L] ==5"
run _3h_finish always
run finish always
define sketchpad WordScreen_1_1_1
set duration 3000
set description "Displays stimuli"
draw image center=1 file="[bg]" scale=1 show_if=always x=0 y=0 z_index=0
draw image center=1 file="[object].jpg" scale=1 show_if=always x=0 y=0 z_index=0
define sketchpad WordScreen_2
set duration 3000
set description "Displays stimuli"
draw image center=1 file="[bg]" scale=1 show_if=always x=0 y=0 z_index=0
draw image center=1 file="[object].jpg" scale=1 show_if=always x=0 y=0 z_index=0
define sketchpad WordScreen_3
set duration 3000
set description "Displays stimuli"
draw image center=1 file="[bg]" scale=1 show_if=always x=0 y=0 z_index=0
draw image center=1 file="[object].jpg" scale=1 show_if=always x=0 y=0 z_index=0
define sketchpad WordScreen_4
set duration 3000
set description "Displays stimuli"
draw image center=1 file="[bg]" scale=1 show_if=always x=0 y=0 z_index=0
draw image center=1 file="[object].jpg" scale=1 show_if=always x=0 y=0 z_index=0
define sketchpad _3h_finish
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="The first part of the experiment is finished." x=0 y=-96 z_index=0
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="
you are asked to enter the second
link to complete the second part
of the experiment." x=0 y=64 z_index=0
draw textline center=1 color=white font_bold=yes font_family=mono font_italic=no font_size=40 html=yes show_if=always text="In 3 hours" x=0 y=-32 z_index=0
define keyboard_response bg_choose
set timeout infinite
set flush yes
set event_type keypress
set duration keypress
set description "Collects keyboard responses"
set allowed_responses "1;9;5"
define sketchpad bg_choose_4
set duration 100
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=hebrew font_italic=no font_size=22 html=yes show_if=always text="What was the background?
1 - sea
5- forest
9- don't remember
" x=0 y=0 z_index=0
define sketchpad bg_choose_5
set duration 100
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=hebrew font_italic=no font_size=22 html=yes show_if=always text="What was the background?
1 - sea
5- forest
9- don't remember
" x=0 y=0 z_index=0
define keyboard_response bg_choose_6
set timeout infinite
set flush yes
set event_type keypress
set duration keypress
set description "Collects keyboard responses"
set allowed_responses "1;9;5"
define inline_javascript bg_defined_1_1_1
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
var bg;
vars.bg = vars.backround[vars.count_list2_seq]
bg = vars.bg
__end__
define inline_javascript bg_defined_2
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
var bg;
vars.bg = vars.backround[vars.count_list3_seq]
bg = vars.bg
__end__
define inline_javascript bg_defined_3
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
var bg;
vars.bg = vars.backround[vars.count_list4_seq]
bg = vars.bg
__end__
define inline_javascript bg_defined_4
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
var bg;
vars.bg = vars.backround[vars.count_list5_seq]
bg = vars.bg
__end__
define inline_javascript cond
set description "Executes JavaScript code (ECMA 5.1)"
___run__
var cond = 1
vars.condition = 1
__end__
set _prepare ""
define inline_javascript conf_prompt_1_1
set description "Executes JavaScript code"
___run__
function accept_input() {
// This function is called when the ok button is clicked. It makes
// OSWeb visible again, restores the key handlers, hides the form,
// and sets the form response as custom_form_input.
custom_form.style.display = 'none'
osweb.style.display = 'block'
// save subject answer to conf_level
vars.conf_level = input_slider.value;
window.addEventListener('keydown', runner._events._keyDownHandler)
window.addEventListener('keyup', runner._events._keyUpHandler)
}
// Create a div with a custom HTML form, and append it to the document
let custom_form = document.createElement('div');
custom_form.style = 'background-color: black; color: white; height: 100%; width: 100%; text-align: center; font-size: 1.4em; position: absolute; top: 0; left: 0; display: table; text-align: center;'
let inner_container = document.createElement('div');
inner_container.style = 'display: table-cell; vertical-align: middle;';
inner_container.innerHTML = '
How sure are you that your recalled word was presented in your background selection? p>
adjust using the RIGHT and LEFT arrow keys, and press ENTER to confirm.
Confidence: 0%
';
let input_slider = document.createElement('input');
input_slider.type = "range";
input_slider.min = 0;
input_slider.max = 100;
input_slider.step = 10;
input_slider.value = 0;
input_slider.disabled = "disabled";
function update_label() {
conf_value.innerText = input_slider.value;
}
input_slider.oninput = update_label;
inner_container.appendChild(input_slider);
custom_form.appendChild(inner_container);
document.addEventListener("keydown", function(e) {
if (e.key == "ArrowLeft") {
input_slider.value = +input_slider.value - 10;
update_label();
} else if (e.key == "ArrowRight") {
input_slider.value = +input_slider.value + 10;
update_label();
} else if (e.key == "Enter") {
accept_input();
}
});
document.body.append(custom_form)
// Hide the element that shows the regular OSWeb content
let osweb = document.getElementsByClassName('justify-content-center')[0]
osweb.style.display = 'none';
// Remove the OSWeb key handlers, because otherwise OSWeb will keep responding
// to the input to the form.
window.removeEventListener('keydown', runner._events._keyDownHandler)
window.removeEventListener('keyup', runner._events._keyUpHandler)
__end__
set _prepare ""
define inline_javascript conf_prompt_2
set description "Executes JavaScript code"
___run__
function accept_input() {
// This function is called when the ok button is clicked. It makes
// OSWeb visible again, restores the key handlers, hides the form,
// and sets the form response as custom_form_input.
custom_form.style.display = 'none'
osweb.style.display = 'block'
// save subject answer to conf_level
vars.conf_level = input_slider.value;
window.addEventListener('keydown', runner._events._keyDownHandler)
window.addEventListener('keyup', runner._events._keyUpHandler)
}
// Create a div with a custom HTML form, and append it to the document
let custom_form = document.createElement('div');
custom_form.style = 'background-color: black; color: white; height: 100%; width: 100%; text-align: center; font-size: 1.4em; position: absolute; top: 0; left: 0; display: table; text-align: center;'
let inner_container = document.createElement('div');
inner_container.style = 'display: table-cell; vertical-align: middle;';
inner_container.innerHTML = '
How sure are you that your recalled word was presented in the list?
adjust using the RIGHT and LEFT arrow keys, and press ENTER to confirm.
Confidence: 0%
';
let input_slider = document.createElement('input');
input_slider.type = "range";
input_slider.min = 0;
input_slider.max = 100;
input_slider.step = 10;
input_slider.value = 0;
input_slider.disabled = "disabled";
function update_label() {
conf_value.innerText = input_slider.value;
}
input_slider.oninput = update_label;
inner_container.appendChild(input_slider);
custom_form.appendChild(inner_container);
document.addEventListener("keydown", function(e) {
if (e.key == "ArrowLeft") {
input_slider.value = +input_slider.value - 10;
update_label();
} else if (e.key == "ArrowRight") {
input_slider.value = +input_slider.value + 10;
update_label();
} else if (e.key == "Enter") {
accept_input();
}
});
document.body.append(custom_form)
// Hide the element that shows the regular OSWeb content
let osweb = document.getElementsByClassName('justify-content-center')[0]
osweb.style.display = 'none';
// Remove the OSWeb key handlers, because otherwise OSWeb will keep responding
// to the input to the form.
window.removeEventListener('keydown', runner._events._keyDownHandler)
window.removeEventListener('keyup', runner._events._keyUpHandler)
__end__
set _prepare ""
define inline_javascript conf_prompt_b
set description "Executes JavaScript code"
___run__
function accept_input() {
// This function is called when the ok button is clicked. It makes
// OSWeb visible again, restores the key handlers, hides the form,
// and sets the form response as custom_form_input.
custom_form.style.display = 'none'
osweb.style.display = 'block'
// save subject answer to conf_level
vars.conf_level = input_slider.value;
window.addEventListener('keydown', runner._events._keyDownHandler)
window.addEventListener('keyup', runner._events._keyUpHandler)
}
// Create a div with a custom HTML form, and append it to the document
let custom_form = document.createElement('div');
custom_form.style = 'background-color: black; color: white; height: 100%; width: 100%; text-align: center; font-size: 1.4em; position: absolute; top: 0; left: 0; display: table; text-align: center;'
let inner_container = document.createElement('div');
inner_container.style = 'display: table-cell; vertical-align: middle;';
inner_container.innerHTML = '
How sure are you that your recalled word was presented in your background selection?
adjust using the RIGHT and LEFT arrow keys, and press ENTER to confirm.
';
let slider_container = document.createElement('div');
let left_label = document.createElement('span');
left_label.innerText = "0%";
let right_label = document.createElement('span');
right_label.innerText = "100%";
slider_container.appendChild(left_label)
let input_slider = document.createElement('input');
input_slider.type = "range";
input_slider.min = 0;
input_slider.max = 100;
input_slider.step = 1;
input_slider.value = 0;
input_slider.style.margin = "0 20px";
input_slider.disabled = "disabled";
slider_container.appendChild(input_slider);
slider_container.appendChild(right_label)
inner_container.appendChild(slider_container);
custom_form.appendChild(inner_container);
document.addEventListener("keydown", function(e) {
if (e.key == "ArrowLeft") {
input_slider.value = +input_slider.value - 1;
} else if (e.key == "ArrowRight") {
input_slider.value = +input_slider.value + 1;
} else if (e.key == "Enter") {
accept_input();
}
});
document.body.append(custom_form)
// Hide the element that shows the regular OSWeb content
let osweb = document.getElementsByClassName('justify-content-center')[0]
osweb.style.display = 'none';
// Remove the OSWeb key handlers, because otherwise OSWeb will keep responding
// to the input to the form.
window.removeEventListener('keydown', runner._events._keyDownHandler)
window.removeEventListener('keyup', runner._events._keyUpHandler)
__end__
set _prepare ""
define inline_javascript conf_prompt_w
set description "Executes JavaScript code"
___run__
function accept_input() {
// This function is called when the ok button is clicked. It makes
// OSWeb visible again, restores the key handlers, hides the form,
// and sets the form response as custom_form_input.
custom_form.style.display = 'none'
osweb.style.display = 'block'
// save subject answer to conf_level
vars.conf_level = input_slider.value;
window.addEventListener('keydown', runner._events._keyDownHandler)
window.addEventListener('keyup', runner._events._keyUpHandler)
}
// Create a div with a custom HTML form, and append it to the document
let custom_form = document.createElement('div');
custom_form.style = 'background-color: black; color: white; height: 100%; width: 100%; text-align: center; font-size: 1.4em; position: absolute; top: 0; left: 0; display: table; text-align: center;'
let inner_container = document.createElement('div');
inner_container.style = 'display: table-cell; vertical-align: middle;';
inner_container.innerHTML = 'How sure are you that your recalled word was presented in the list?
adjust using the RIGHT and LEFT arrow keys, and press ENTER to confirm.
';
let slider_container = document.createElement('div');
let left_label = document.createElement('span');
left_label.innerText = "0%";
let right_label = document.createElement('span');
right_label.innerText = "100%";
slider_container.appendChild(left_label)
let input_slider = document.createElement('input');
input_slider.type = "range";
input_slider.min = 0;
input_slider.max = 100;
input_slider.step = 1;
input_slider.value = 0;
input_slider.style.margin = "0 20px";
input_slider.disabled = "disabled";
slider_container.appendChild(input_slider);
slider_container.appendChild(right_label)
inner_container.appendChild(slider_container);
custom_form.appendChild(inner_container);
document.addEventListener("keydown", function(e) {
if (e.key == "ArrowLeft") {
input_slider.value = +input_slider.value - 1;
} else if (e.key == "ArrowRight") {
input_slider.value = +input_slider.value + 1;
} else if (e.key == "Enter") {
accept_input();
}
});
document.body.append(custom_form)
// Hide the element that shows the regular OSWeb content
let osweb = document.getElementsByClassName('justify-content-center')[0]
osweb.style.display = 'none';
// Remove the OSWeb key handlers, because otherwise OSWeb will keep responding
// to the input to the form.
window.removeEventListener('keydown', runner._events._keyDownHandler)
window.removeEventListener('keyup', runner._events._keyUpHandler)
__end__
set _prepare ""
define sequence experiment
set flush_keyboard yes
set description "Runs a number of items in sequence"
run set always
run cond always
run get_subject_id always
run welcome_1 always
run welcome_1_1 always
run recall_instruction always
run recall_instruction_1 always
run recall_instruction_3 always
run recall_instruction_2 always
run recall_instruction_4 always
run recall_instruction_6 always
run var_setup_1 always
run recall_loop_1 always
run new_list always
run Trail always
run math_practice_loop always
run recall_instruction_5 always
run var_setup always
run recall_loop_2 always
run explanation always
define sketchpad explanation
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=29 html=yes show_if=always text="You have completed the experiment.
thank you for participating!
The goal of this study is to investigate
the effect of delay on the discrepancy between
objective (the memory accuracy)
and subjective (the confidence level)
measures of memory.
To end the experiment please press the space bar." x=0 y=0 z_index=0
define sketchpad finish
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="Waiting for you in the second part.
See you later,
Thank you!" x=-32 y=32 z_index=0
define sketchpad fixation_1_1
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sketchpad fixation_3
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sketchpad fixation_4
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define sketchpad fixation_5
set duration 1000
set description "Displays stimuli"
draw line color=white penwidth=3 show_if=always x1=0 x2=0 y1=-32 y2=32 z_index=0
draw line color=white penwidth=3 show_if=always x1=-32 x2=32 y1=0 y2=0 z_index=0
define inline_javascript get_subject_id
set description "Executes JavaScript code"
___run__
// Function from https://css-tricks.com/snippets/javascript/get-url-variables/
function getQueryVariable(variable)
{
// gets URL parameters string (everything after '?')
var query = window.location.search.substring(1);
// splits parameter statements by delimiter '&'
var vars = query.split("&");
// in every statement...
for (var i=0;i min + variable.min, 0);
let possible_max = variables.reduce((max, variable) => max + variable.max, 0);
let req_min;
let req_max;
for (cur_var; cur_var < n_vars; cur_var++) {
req_min = Math.max(min - possible_max + variables[cur_var].max, variables[cur_var].min);
req_max = Math.min(max - possible_min + variables[cur_var].min, variables[cur_var].max);
exclude = exclude.filter(ex_val => (ex_val >= req_min) & (ex_val <= req_max));
req_max = req_max - exclude.length;
values[cur_var] = Math.floor(Math.random() * (req_max - req_min + 1) + req_min);
exclude.forEach(ex_val => {
values[cur_var] = values[cur_var] + (values[cur_var] >= ex_val);
});
possible_min = possible_min + (values[cur_var] - variables[cur_var].min);
possible_max = possible_max - (variables[cur_var].max - values[cur_var]);
exclude.push(-1 * values[cur_var]);
exclude.sort((a, b) => a - b);
}
return values;
}
function genq(min, max, variables, exclude) {
let values = genv(min, max, variables, exclude);
vars.math_answer = values.reduce((a, b) => a + b, 0);
let q = "";
for (let cur_val = 0; cur_val < values.length; cur_val++) {
let val = values[cur_val];
if (Math.sign(val) >= 0) {
q = q.concat((cur_val == 0) ? val : ` + ${val}`);
} else {
q = q.concat((cur_val == 0) ? `- ${Math.abs(val)}` : ` - ${Math.abs(val)}`);
}
}
q = q + " = ?";
return q;
}
vars.q = genq(0, 9, v, [0]);
__end__
define loop math_practice_loop
set source table
set repeat 100
set order random
set description "Repeatedly runs another item"
set cycles 1
set continuous no
set break_if_on_first yes
set break_if "[math_close] = 1"
setcycle 0 empty_column ""
run math_practice_seq
define sequence math_practice_seq
set flush_keyboard yes
set description "Runs a number of items in sequence"
run math_practice always
run math_show always
run math_response always
run math_check_answer always
run math_feedback_correct "[math_feedback] = 1"
run math_feedback_incorrect "[math_feedback] = 0"
run new_logger_1 always
define keyboard_response math_response
set timeout infinite
set flush yes
set event_type keypress
set duration keypress
set description "Collects keyboard responses"
set allowed_responses "0;1;2;3;4;5;6;7;8;9"
define sketchpad math_show
set duration 100
set description "Displays stimuli"
draw textline center=1 color="#ffffff" font_bold=yes font_family=hebrew font_italic=no font_size=44 html=yes show_if=always text="[q]" x=0 y=-50 z_index=-1
define sketchpad new_list
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="In the next screen
a new list of objects will be presented.
You will be asked to try to remember as many
objects as possible and also to remember
the background image presented with each object.
Press the space bar to continue" x=0 y=0 z_index=0
define logger new_logger_1
set description "Logs experimental data"
set auto_log yes
define logger new_logger_4
set description "Logs experimental data"
set auto_log yes
define logger new_logger_5
set description "Logs experimental data"
set auto_log yes
define loop now_word_1
set source_file ""
set source table
set repeat 200
set order random
set description "Repeatedly runs another item"
set cycles 1
set continuous no
set break_if_on_first yes
set break_if "[closeW] = 0"
setcycle 0 empty_column ""
run now_word_seq_2
define loop now_word_3
set source_file ""
set source table
set repeat 200
set order random
set description "Repeatedly runs another item"
set cycles 1
set continuous no
set break_if_on_first yes
set break_if "[closeW] = 0"
setcycle 0 empty_column ""
run now_word_seq_3
define sequence now_word_seq_2
set flush_keyboard yes
set description "Runs a number of items in sequence"
run show_real_html_form_4 always
run wait_for_key always
run bg_choose_4 "[closeW2] = 1"
run bg_choose "[closeW2] = 1"
run conf_prompt_w always
run conf_prompt_b always
run new_logger_4 always
define sequence now_word_seq_3
set flush_keyboard yes
set description "Runs a number of items in sequence"
run show_real_html_form_5 always
run wait_for_key_3 always
run bg_choose_5 "[closeW2] = 1"
run bg_choose_6 "[closeW2] = 1"
run conf_prompt_2 always
run conf_prompt_1_1 always
run new_logger_5 always
define sketchpad recall_instruction
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="In this part, you will be tested on your
memory for the objects you were presented in the
first part of the experiment.
Afterwards, you will be presented with
a second list of objects paired with backgrounds.
Press the space bar to continue
" x=0 y=64 z_index=0
define sketchpad recall_instruction_1
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="For each object you recall,
you are asked to type the name of the object
in one word and in
CAPITAL LETTERS
and then press 'OK'.
For instance, if you remember that a picture
of a bat appeared in the list, type BAT.
Press the space bar to continue
" x=0 y=64 z_index=0
define sketchpad recall_instruction_2
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="At the end, you are asked to rate your
confidence level for the recalled word
and for the chosen background.
The confidence level will be in
a scale of 0%-100% so-
0% - I am not sure at all
100% - I am very sure
Press the space bar to continue
" x=0 y=0 z_index=0
define sketchpad recall_instruction_3
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="Next, you are asked to select the background on
which the word you typed appeared.
Press 1 if the background image was of a sea.
Press 5 if the background image was of a forest.
Press 9 if you don't remember what the
background image was.
You will be presented with labels reminding
you which number represents each choice.
Press the space bar to continue
" x=0 y=-32 z_index=0
define sketchpad recall_instruction_4
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="Following the confidence rating,
a new text box will appear
and you are asked to type another word.
If you are SURE you can't remember any
more objects, press on 'no more objects'
and you will proceed to
the next part of the experiment.
Press the space bar to continue
" x=0 y=32 z_index=0
define sketchpad recall_instruction_5
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="The test phase will begin immediately.
To remind you, for each object you recall,
you are asked to type the name of the object
in one word and in
CAPITAL LETTERS
and then press 'OK'.
Next, you are asked to select the background on
which the word you typed appeared.
At the end, you are asked to rate your
confidence level for the recalled word
and for the chosen background.
Press the space bar to continue
" x=0 y=64 z_index=0
define sketchpad recall_instruction_6
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="The test will start in the next screen.
Press the space bar to start
" x=0 y=32 z_index=0
define loop recall_loop_1
set source_file ""
set source table
set repeat 1
set order random
set description "Repeatedly runs another item"
set cycles 1
set continuous no
set break_if_on_first yes
set break_if "[correct] == 0"
setcycle 0 empty_column ""
run recall_seq_2
define loop recall_loop_2
set source_file ""
set source table
set repeat 1
set order random
set description "Repeatedly runs another item"
set cycles 1
set continuous no
set break_if_on_first yes
set break_if "[correct] == 0"
setcycle 0 empty_column ""
run recall_seq_3
define sequence recall_seq_2
set flush_keyboard yes
set description "Runs a number of items in sequence"
run now_word_1 always
define sequence recall_seq_3
set flush_keyboard yes
set description "Runs a number of items in sequence"
run now_word_3 always
define inline_javascript retrieves_trial_info_1_1_1
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
// increment trial counter
vars.trial_counter=vars.trial_counter+1
// retrieves target from vars.arr based on inblock trial counter -1 (because array goes from 0 to the array's length)
vars.object=vars.arr[vars.trial_counter-1]
console.log("Trial number: "+vars.trial_counter)
__end__
define inline_javascript retrieves_trial_info_2
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
// increment trial counter
vars.trial_counter=vars.trial_counter+1
// retrieves target from vars.arr based on inblock trial counter -1 (because array goes from 0 to the array's length)
vars.object=vars.arr[vars.trial_counter-1]
console.log("Trial number: "+vars.trial_counter)
__end__
define inline_javascript retrieves_trial_info_3
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
// increment trial counter
vars.trial_counter=vars.trial_counter+1
// retrieves target from vars.arr based on inblock trial counter -1 (because array goes from 0 to the array's length)
vars.object=vars.arr[vars.trial_counter-1]
console.log("Trial number: "+vars.trial_counter)
__end__
define inline_javascript retrieves_trial_info_4
set description "Executes JavaScript code (ECMA 5.1)"
set _run ""
___prepare__
// increment trial counter
vars.trial_counter=vars.trial_counter+1
// retrieves target from vars.arr based on inblock trial counter -1 (because array goes from 0 to the array's length)
vars.object=vars.arr[vars.trial_counter-1]
console.log("Trial number: "+vars.trial_counter)
__end__
define inline_javascript set
set description "Executes JavaScript code (ECMA 5.1)"
___run__
vars.L =Math.floor(Math.random() * 5) + 1
vars.C =Math.floor(Math.random() * 3) + 1
var n = 0 //counter words test list
var num_practice=0 // counter words practice list
var CountTrial = 1 //list number. practice is 1
var List = 1
var cond = 1
var Delay = 0
var Delay = 6*[1]+6*[2]
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = 1;
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var now = new Date()
vars.startTime = now.getTime()
__end__
___prepare__
var n = 0 //counter words test list
var num_practice=0 // counter words practice list
var CountTrial = 1 //list number. practice is 1
var List = 1
var Delay = 0
var Delay = 6*[1]+6*[2]
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = 1;
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
__end__
define inline_javascript show_real_html_form_4
set description "Executes JavaScript code (ECMA 5.1)"
___run__
function accept_input() {
// This function is called when the ok button is clicked. It makes
// OSWeb visible again, restores the key handlers, hides the form,
// and sets the form response as custom_form_input.
custom_form.style.display = 'none'
osweb.style.display = 'block'
vars.custom_form_input = input_text.value;
window.addEventListener('keydown', runner._events._keyDownHandler)
window.addEventListener('keyup', runner._events._keyUpHandler)
// log response time
let recall_time = new Date();
vars.recall_rt = recall_time - start_time;
console.log(vars.recall_rt);
// if continued because time was over, don't show other screens
if (vars.closeW == 0) {
vars.closeW2 = 0;
}
}
// Create a div with a custom HTML form, and append it to the document
let custom_form = document.createElement('div')
custom_form.style = 'background-color: gray; height: 100%; text-align: center;'
custom_form.innerHTML = 'Hi there!
'
let input_text = document.createElement('input');
input_text.type = "text";
custom_form.appendChild(input_text);
let input_ok = document.createElement('input');
input_ok.type = "button";
input_ok.value = "ok";
// Call accept_input() when the Ok button is clicked
//document.getElementById('input_ok').onclick = accept_input
input_ok.addEventListener("click", accept_input, {once: true});
custom_form.appendChild(input_ok);
// No more words
function handle_done() {
clearTimeout(vars.recallTimeout);
vars.closeW = 0;
input_ok.click();
}
let br = document.createElement('br');
custom_form.appendChild(br);
let input_done = document.createElement('input');
input_done.type = "button";
input_done.style.marginTop = "40px";
input_done.value = "no more objects";
input_done.addEventListener("click", handle_done, {once: true});
custom_form.appendChild(input_done);
//
document.body.append(custom_form)
// Hide the element that shows the regular OSWeb content
let osweb = document.getElementsByClassName('justify-content-center')[0]
osweb.style.display = 'none';
// Remove the OSWeb key handlers, because otherwise OSWeb will keep responding
// to the input to the form.
window.removeEventListener('keydown', runner._events._keyDownHandler)
window.removeEventListener('keyup', runner._events._keyUpHandler)
// Response Time
let start_time = new Date();
// starts a timer for the recall loop
if (!vars.recallTimeout) {
vars.recallTimeout = setTimeout(function() {
vars.closeW = 0;
input_ok.click();
}, 120000);
}
__end__
set _prepare ""
define inline_javascript show_real_html_form_5
set description "Executes JavaScript code (ECMA 5.1)"
___run__
function accept_input() {
// This function is called when the ok button is clicked. It makes
// OSWeb visible again, restores the key handlers, hides the form,
// and sets the form response as custom_form_input.
custom_form.style.display = 'none'
osweb.style.display = 'block'
vars.custom_form_input = input_text.value;
window.addEventListener('keydown', runner._events._keyDownHandler)
window.addEventListener('keyup', runner._events._keyUpHandler)
// log response time
let recall_time = new Date();
vars.recall_rt = recall_time - start_time;
console.log(vars.recall_rt);
// if continued because time was over, don't show other screens
if (vars.closeW == 0) {
vars.closeW2 = 0;
}
}
// Create a div with a custom HTML form, and append it to the document
let custom_form = document.createElement('div')
custom_form.style = 'background-color: gray; height: 100%; text-align: center;'
custom_form.innerHTML = 'Hi there!
'
let input_text = document.createElement('input');
input_text.type = "text";
custom_form.appendChild(input_text);
let input_ok = document.createElement('input');
input_ok.type = "button";
input_ok.value = "ok";
// Call accept_input() when the Ok button is clicked
//document.getElementById('input_ok').onclick = accept_input
input_ok.addEventListener("click", accept_input, {once: true});
custom_form.appendChild(input_ok);
// No more words
function handle_done() {
clearTimeout(vars.recallTimeout);
vars.closeW = 0;
input_ok.click();
}
let br = document.createElement('br');
custom_form.appendChild(br);
let input_done = document.createElement('input');
input_done.type = "button";
input_done.style.marginTop = "40px";
input_done.value = "no more objects";
input_done.addEventListener("click", handle_done, {once: true});
custom_form.appendChild(input_done);
//
document.body.append(custom_form)
// Hide the element that shows the regular OSWeb content
let osweb = document.getElementsByClassName('justify-content-center')[0]
osweb.style.display = 'none';
// Remove the OSWeb key handlers, because otherwise OSWeb will keep responding
// to the input to the form.
window.removeEventListener('keydown', runner._events._keyDownHandler)
window.removeEventListener('keyup', runner._events._keyUpHandler)
// Response Time
let start_time = new Date();
// starts a timer for the recall loop
if (!vars.recallTimeout1) {
vars.recallTimeout1 = setTimeout(function() {
vars.closeW = 0;
input_ok.click();
}, 120000);
}
__end__
set _prepare ""
define inline_javascript var_setup
set description "Executes JavaScript code (ECMA 5.1)"
___run__
vars.correct = 1;
vars.closeW = 1;
vars.closeW2 = 1;
vars.recall_rt;
var document;
vars.document = ''
__end__
set _prepare ""
define inline_javascript var_setup_1
set description "Executes JavaScript code (ECMA 5.1)"
___run__
vars.correct = 1;
vars.closeW = 1;
vars.closeW2 = 1;
vars.recall_rt;
var document;
vars.document = ''
__end__
set _prepare ""
define sketchpad wait_for_key
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Press any key" x=0 y=0 z_index=0
define sketchpad wait_for_key_3
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Press any key" x=0 y=0 z_index=0
define sketchpad welcome_1
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="Hello and thank you for coming back!" x=0 y=0 z_index=0
define sketchpad welcome_1_1
set duration keypress
set description "Displays stimuli"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=30 html=yes show_if=always text="To remind you, at the end of the experiment,
you will receive
a code to paste into the box to receive
credit for participating in our experiment.
Press the space bar to continue" x=0 y=0 z_index=0