Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Generated by OpenSesame 0.27.3 (Frisky Freud)
- # Mon Sep 09 16:51:11 2013 (nt)
- # <http://www.cogsci.nl/opensesame>
- set mouse_backend "xpyriment"
- set subject_parity "even"
- set height "768"
- set font_family "sans"
- set font_italic "no"
- set custom_cursor "yes"
- set synth_backend "legacy"
- set title "phonological_1234"
- set coordinates "relative"
- set start "experiment"
- set sampler_backend "legacy"
- set transparent_variables "no"
- set foreground "Black"
- set font_bold "no"
- set description "Default description"
- set background "White"
- set font_size "20"
- set enable_escape "yes"
- set keyboard_backend "legacy"
- set canvas_backend "xpyriment"
- set compensation "0"
- set subject_nr "0"
- set width "1366"
- define loop s3_block_loop
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "s3_trial_sequence"
- set column_order "frame_colour;pair_colour;pair_font;correct_cue_response"
- set cycles "50"
- set order "sequential"
- setcycle 0 pair_colour "Black"
- setcycle 0 frame_colour "Black"
- setcycle 0 correct_cue_response ""
- setcycle 0 pair_font "Sans"
- setcycle 1 pair_colour "Black"
- setcycle 1 frame_colour "Black"
- setcycle 1 correct_cue_response ""
- setcycle 1 pair_font "Sans"
- setcycle 2 pair_colour "Black"
- setcycle 2 frame_colour "Black"
- setcycle 2 correct_cue_response ""
- setcycle 2 pair_font "Sans"
- setcycle 3 pair_colour "Black"
- setcycle 3 frame_colour "Black"
- setcycle 3 correct_cue_response ""
- setcycle 3 pair_font "Sans"
- setcycle 4 pair_colour "Red"
- setcycle 4 frame_colour "Black"
- setcycle 4 correct_cue_response "r"
- setcycle 4 pair_font "Sans"
- setcycle 5 pair_colour "Black"
- setcycle 5 frame_colour "Black"
- setcycle 5 correct_cue_response ""
- setcycle 5 pair_font "Sans"
- setcycle 6 pair_colour "Black"
- setcycle 6 frame_colour "Black"
- setcycle 6 correct_cue_response ""
- setcycle 6 pair_font "Sans"
- setcycle 7 pair_colour "Black"
- setcycle 7 frame_colour "Black"
- setcycle 7 correct_cue_response ""
- setcycle 7 pair_font "Sans"
- setcycle 8 pair_colour "Black"
- setcycle 8 frame_colour "Black"
- setcycle 8 correct_cue_response ""
- setcycle 8 pair_font "Sans"
- setcycle 9 pair_colour "Black"
- setcycle 9 frame_colour "Black"
- setcycle 9 correct_cue_response "f"
- setcycle 9 pair_font "Serif"
- setcycle 10 pair_colour "Black"
- setcycle 10 frame_colour "Black"
- setcycle 10 correct_cue_response ""
- setcycle 10 pair_font "Sans"
- setcycle 11 pair_colour "Black"
- setcycle 11 frame_colour "Black"
- setcycle 11 correct_cue_response ""
- setcycle 11 pair_font "Sans"
- setcycle 12 pair_colour "Black"
- setcycle 12 frame_colour "Black"
- setcycle 12 correct_cue_response ""
- setcycle 12 pair_font "Sans"
- setcycle 13 pair_colour "Black"
- setcycle 13 frame_colour "Black"
- setcycle 13 correct_cue_response ""
- setcycle 13 pair_font "Sans"
- setcycle 14 pair_colour "Black"
- setcycle 14 frame_colour "Black"
- setcycle 14 correct_cue_response ""
- setcycle 14 pair_font "Sans"
- setcycle 15 pair_colour "Black"
- setcycle 15 frame_colour "Black"
- setcycle 15 correct_cue_response ""
- setcycle 15 pair_font "Sans"
- setcycle 16 pair_colour "Black"
- setcycle 16 frame_colour "Black"
- setcycle 16 correct_cue_response ""
- setcycle 16 pair_font "Sans"
- setcycle 17 pair_colour "Black"
- setcycle 17 frame_colour "Black"
- setcycle 17 correct_cue_response ""
- setcycle 17 pair_font "Sans"
- setcycle 18 pair_colour "Black"
- setcycle 18 frame_colour "Black"
- setcycle 18 correct_cue_response ""
- setcycle 18 pair_font "Sans"
- setcycle 19 pair_colour "Black"
- setcycle 19 frame_colour "Black"
- setcycle 19 correct_cue_response ""
- setcycle 19 pair_font "Sans"
- setcycle 20 pair_colour "Black"
- setcycle 20 frame_colour "Black"
- setcycle 20 correct_cue_response ""
- setcycle 20 pair_font "Sans"
- setcycle 21 pair_colour "Black"
- setcycle 21 frame_colour "Black"
- setcycle 21 correct_cue_response ""
- setcycle 21 pair_font "Sans"
- setcycle 22 pair_colour "Black"
- setcycle 22 frame_colour "Black"
- setcycle 22 correct_cue_response ""
- setcycle 22 pair_font "Sans"
- setcycle 23 pair_colour "Black"
- setcycle 23 frame_colour "Black"
- setcycle 23 correct_cue_response ""
- setcycle 23 pair_font "Sans"
- setcycle 24 pair_colour "Black"
- setcycle 24 frame_colour "Black"
- setcycle 24 correct_cue_response ""
- setcycle 24 pair_font "Sans"
- setcycle 25 pair_colour "Black"
- setcycle 25 frame_colour "Black"
- setcycle 25 correct_cue_response ""
- setcycle 25 pair_font "Sans"
- setcycle 26 pair_colour "Black"
- setcycle 26 frame_colour "Black"
- setcycle 26 correct_cue_response ""
- setcycle 26 pair_font "Sans"
- setcycle 27 pair_colour "Black"
- setcycle 27 frame_colour "Black"
- setcycle 27 correct_cue_response ""
- setcycle 27 pair_font "Sans"
- setcycle 28 pair_colour "Black"
- setcycle 28 frame_colour "Black"
- setcycle 28 correct_cue_response ""
- setcycle 28 pair_font "Sans"
- setcycle 29 pair_colour "Black"
- setcycle 29 frame_colour "Orange"
- setcycle 29 correct_cue_response "o"
- setcycle 29 pair_font "Sans"
- setcycle 30 pair_colour "Black"
- setcycle 30 frame_colour "Black"
- setcycle 30 correct_cue_response ""
- setcycle 30 pair_font "Sans"
- setcycle 31 pair_colour "Black"
- setcycle 31 frame_colour "Black"
- setcycle 31 correct_cue_response ""
- setcycle 31 pair_font "Sans"
- setcycle 32 pair_colour "Black"
- setcycle 32 frame_colour "Black"
- setcycle 32 correct_cue_response ""
- setcycle 32 pair_font "Sans"
- setcycle 33 pair_colour "Black"
- setcycle 33 frame_colour "Black"
- setcycle 33 correct_cue_response ""
- setcycle 33 pair_font "Sans"
- setcycle 34 pair_colour "Red"
- setcycle 34 frame_colour "Black"
- setcycle 34 correct_cue_response "r"
- setcycle 34 pair_font "Sans"
- setcycle 35 pair_colour "Black"
- setcycle 35 frame_colour "Black"
- setcycle 35 correct_cue_response ""
- setcycle 35 pair_font "Sans"
- setcycle 36 pair_colour "Black"
- setcycle 36 frame_colour "Black"
- setcycle 36 correct_cue_response ""
- setcycle 36 pair_font "Sans"
- setcycle 37 pair_colour "Black"
- setcycle 37 frame_colour "Black"
- setcycle 37 correct_cue_response ""
- setcycle 37 pair_font "Sans"
- setcycle 38 pair_colour "Black"
- setcycle 38 frame_colour "Black"
- setcycle 38 correct_cue_response ""
- setcycle 38 pair_font "Sans"
- setcycle 39 pair_colour "Black"
- setcycle 39 frame_colour "Black"
- setcycle 39 correct_cue_response "f"
- setcycle 39 pair_font "Serif"
- setcycle 40 pair_colour "Black"
- setcycle 40 frame_colour "Black"
- setcycle 40 correct_cue_response ""
- setcycle 40 pair_font "Sans"
- setcycle 41 pair_colour "Black"
- setcycle 41 frame_colour "Black"
- setcycle 41 correct_cue_response ""
- setcycle 41 pair_font "Sans"
- setcycle 42 pair_colour "Black"
- setcycle 42 frame_colour "Black"
- setcycle 42 correct_cue_response ""
- setcycle 42 pair_font "Sans"
- setcycle 43 pair_colour "Black"
- setcycle 43 frame_colour "Black"
- setcycle 43 correct_cue_response ""
- setcycle 43 pair_font "Sans"
- setcycle 44 pair_colour "Black"
- setcycle 44 frame_colour "Orange"
- setcycle 44 correct_cue_response "o"
- setcycle 44 pair_font "Sans"
- setcycle 45 pair_colour "Black"
- setcycle 45 frame_colour "Black"
- setcycle 45 correct_cue_response ""
- setcycle 45 pair_font "Sans"
- setcycle 46 pair_colour "Black"
- setcycle 46 frame_colour "Black"
- setcycle 46 correct_cue_response ""
- setcycle 46 pair_font "Sans"
- setcycle 47 pair_colour "Black"
- setcycle 47 frame_colour "Black"
- setcycle 47 correct_cue_response ""
- setcycle 47 pair_font "Sans"
- setcycle 48 pair_colour "Black"
- setcycle 48 frame_colour "Black"
- setcycle 48 correct_cue_response ""
- setcycle 48 pair_font "Sans"
- setcycle 49 pair_colour "Black"
- setcycle 49 frame_colour "Black"
- setcycle 49 correct_cue_response ""
- setcycle 49 pair_font "Sans"
- run s3_trial_sequence
- define inline_script s3_keyboard_response
- set _run ""
- ___prepare__
- from openexp.keyboard import keyboard
- # The keypress timeout
- timeout = 2000
- # We poll for two responses. The first 'keyboard_response_1'
- # waits for a 'z' or an 'm'. The second waits for an 'o', 'r' or 'f'. These
- # responses can be given in arbitrary order, are stored in
- # different variables, and can time out independently of each
- # other.
- exp.set('keyboard_response_1', None)
- exp.set('keyboard_response_time_1', None)
- keylist_1 = ['z', 'm']
- exp.set('keyboard_response_2', None)
- exp.set('keyboard_response_time_2', None)
- keylist_2 = ['o', 'r', 'f']
- # Create a keyboard object that doesn't block the
- # experiment, so we can use it to poll for keypresses
- # continuously.
- my_keyboard = keyboard(exp, timeout=0)
- # Loop until we timeout
- start_time = self.time()
- while self.time() - timeout < start_time:
- key, key_time = my_keyboard.get_key()
- # If a key from keylist 1 is pressed, set keyboard_response_1
- # and keyboard_response_time_1. Also, set key_list_1 to [], so
- # that we do not capture multiple keypresses from this list.
- if key in keylist_1:
- exp.set('keyboard_response_1', key)
- exp.set('keyboard_response_time_1', key_time - start_time)
- keylist_1 = []
- # The same principle is applied for keylist 2.
- if key in keylist_2:
- exp.set('keyboard_response_2', key)
- exp.set('keyboard_response_time_2', key_time - start_time)
- keylist_2 = []
- # Create a variable to check the key response against the expected response:
- if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
- correct_1 = '1'
- else:
- correct_1 = '0'
- exp.set("correct_1", correct_1)
- # ... Do the same for the second response:
- if self.get('keyboard_response_2') == self.get('correct_cue_response'):
- correct_2 = '1'
- else:
- correct_2 = '0'
- exp.set("correct_2", correct_2)
- __end__
- set description "Executes Python code"
- define loop s1_block_loop
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "s1_trial_sequence"
- set column_order "frame_colour;correct_cue_response"
- set cycles "50"
- set order "sequential"
- setcycle 0 frame_colour "Black"
- setcycle 0 correct_cue_response ""
- setcycle 1 frame_colour "Black"
- setcycle 1 correct_cue_response ""
- setcycle 2 frame_colour "Black"
- setcycle 2 correct_cue_response ""
- setcycle 3 frame_colour "Black"
- setcycle 3 correct_cue_response ""
- setcycle 4 frame_colour "Black"
- setcycle 4 correct_cue_response ""
- setcycle 5 frame_colour "Black"
- setcycle 5 correct_cue_response ""
- setcycle 6 frame_colour "Black"
- setcycle 6 correct_cue_response ""
- setcycle 7 frame_colour "Black"
- setcycle 7 correct_cue_response ""
- setcycle 8 frame_colour "Black"
- setcycle 8 correct_cue_response ""
- setcycle 9 frame_colour "Black"
- setcycle 9 correct_cue_response ""
- setcycle 10 frame_colour "Black"
- setcycle 10 correct_cue_response ""
- setcycle 11 frame_colour "Black"
- setcycle 11 correct_cue_response ""
- setcycle 12 frame_colour "Black"
- setcycle 12 correct_cue_response ""
- setcycle 13 frame_colour "Black"
- setcycle 13 correct_cue_response ""
- setcycle 14 frame_colour "Black"
- setcycle 14 correct_cue_response ""
- setcycle 15 frame_colour "Black"
- setcycle 15 correct_cue_response ""
- setcycle 16 frame_colour "Black"
- setcycle 16 correct_cue_response ""
- setcycle 17 frame_colour "Black"
- setcycle 17 correct_cue_response ""
- setcycle 18 frame_colour "Black"
- setcycle 18 correct_cue_response ""
- setcycle 19 frame_colour "Green"
- setcycle 19 correct_cue_response "1"
- setcycle 20 frame_colour "Black"
- setcycle 20 correct_cue_response ""
- setcycle 21 frame_colour "Black"
- setcycle 21 correct_cue_response ""
- setcycle 22 frame_colour "Black"
- setcycle 22 correct_cue_response ""
- setcycle 23 frame_colour "Black"
- setcycle 23 correct_cue_response ""
- setcycle 24 frame_colour "Black"
- setcycle 24 correct_cue_response ""
- setcycle 25 frame_colour "Black"
- setcycle 25 correct_cue_response ""
- setcycle 26 frame_colour "Black"
- setcycle 26 correct_cue_response ""
- setcycle 27 frame_colour "Black"
- setcycle 27 correct_cue_response ""
- setcycle 28 frame_colour "Black"
- setcycle 28 correct_cue_response ""
- setcycle 29 frame_colour "Black"
- setcycle 29 correct_cue_response ""
- setcycle 30 frame_colour "Black"
- setcycle 30 correct_cue_response ""
- setcycle 31 frame_colour "Black"
- setcycle 31 correct_cue_response ""
- setcycle 32 frame_colour "Black"
- setcycle 32 correct_cue_response ""
- setcycle 33 frame_colour "Black"
- setcycle 33 correct_cue_response ""
- setcycle 34 frame_colour "Black"
- setcycle 34 correct_cue_response ""
- setcycle 35 frame_colour "Black"
- setcycle 35 correct_cue_response ""
- setcycle 36 frame_colour "Black"
- setcycle 36 correct_cue_response ""
- setcycle 37 frame_colour "Black"
- setcycle 37 correct_cue_response ""
- setcycle 38 frame_colour "Black"
- setcycle 38 correct_cue_response ""
- setcycle 39 frame_colour "Green"
- setcycle 39 correct_cue_response "1"
- setcycle 40 frame_colour "Black"
- setcycle 40 correct_cue_response ""
- setcycle 41 frame_colour "Black"
- setcycle 41 correct_cue_response ""
- setcycle 42 frame_colour "Black"
- setcycle 42 correct_cue_response ""
- setcycle 43 frame_colour "Black"
- setcycle 43 correct_cue_response ""
- setcycle 44 frame_colour "Black"
- setcycle 44 correct_cue_response ""
- setcycle 45 frame_colour "Black"
- setcycle 45 correct_cue_response ""
- setcycle 46 frame_colour "Black"
- setcycle 46 correct_cue_response ""
- setcycle 47 frame_colour "Black"
- setcycle 47 correct_cue_response ""
- setcycle 48 frame_colour "Black"
- setcycle 48 correct_cue_response ""
- setcycle 49 frame_colour "Black"
- setcycle 49 correct_cue_response ""
- run s1_trial_sequence
- define feedback feedback
- set duration "1000"
- set reset_variables "yes"
- set description "Provides countdown distractor to participants"
- draw textline 0 0 "[Countdown]" center=1 color=Black font_family="sans" font_size=50 font_italic=no font_bold=no show_if="always"
- define sequence sequence
- run ongoing_script "always"
- run s4_response_script "always"
- run s4_trial_display "always"
- run s4_keyboard_response "always"
- run logger "always"
- define loop p_block_loop
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "p_trial_sequence"
- set column_order ""
- set cycles "50"
- set order "sequential"
- run p_trial_sequence
- define sequence s1_trial_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_script "always"
- run s1_response_script "always"
- run s1_trial_display "always"
- run s1_keyboard_response "always"
- run logger "always"
- define text_display end_s1
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- End of Session A.
- Press any key to continue.
- __end__
- set background "#ffffff"
- set duration "keypress"
- set font_family "sans"
- define text_display end_s3
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- End of Session C.
- Press any key to continue.
- __end__
- set background "#ffffff"
- set duration "keypress"
- set font_family "sans"
- define text_display end_s2
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- End of Session B.
- Press any key to continue.
- __end__
- set background "#ffffff"
- set duration "keypress"
- set font_family "sans"
- define text_display experiment_brief
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- Experiment Instructions
- Thank you for taking part in this research. Please read and follow ALL instructions carefully.
- During this experiment you will be presented with 5 sessions.
- Each session will consist of 50 word pairs.
- Sessions will begin automatically after 20 seconds of viewing the session instructions, and a 30 second countdown screen.
- <i>Your task will be to identify if the pairs of words are rhyming or not rhyming.</i>
- <b>For not rhyming pairs (e.g. Phone - Lamp) press the 'Z' key.</b>
- <b>For rhyming pairs (e.g. Mind - Behind) press the 'M' key.</b>
- There will be a practice session followed by 4 further sessions.
- During later sessions you will also be asked to respond to various additional events.
- Press any key to proceed
- __end__
- set background "#ffffff"
- set duration "keypress"
- set font_family "sans"
- define text_display end_experiment
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "50"
- set align "center"
- __content__
- This is the end of the experiment.
- Thank you once again for taking part.
- Necessary ethical information continues....
- __end__
- set background "#ffffff"
- set duration "keypress"
- set font_family "sans"
- define sketchpad p_trial_display
- set duration "0"
- set description "Displays stimuli"
- draw textline -180 0 "[word1]" center=1 color=black font_family="sans" font_size=40 font_italic=no font_bold=no show_if="always"
- draw textline 180 0 "[word2]" center=1 color=black font_family="sans" font_size=40 font_italic=no font_bold=no show_if="always"
- draw rect -480 -160 960 320 fill=0 penwidth=3 color=black show_if="always"
- define inline_script s4_response_script
- set _run ""
- ___prepare__
- # For the ongoing task:
- # Determine correct ongoing response, depending on whether the words
- # come from the rhyming or the non-rhyming list
- if stim_pair in list_rhymes:
- correct_keyboard_response_1 = 'm'
- if stim_pair in list_non_rhymes:
- correct_keyboard_response_1 = 'z'
- # Set the correct response for the ongoing task by giving the variable
- # 'correct_ongoing_response' a value:
- exp.set("correct_ongoing_response", correct_keyboard_response_1)
- # For the cues:
- # Determine correct response, depending on cues in session
- if self.get('frame_colour') == 'Yellow':
- correct_keyboard_response_2 = 'y'
- if self.get('frame_colour') == 'Black':
- correct_keyboard_response_2 = ''
- if self.get('pair_colour') == 'Pink':
- correct_keyboard_response_2 = 'k'
- if self.get('pair_colour') == 'Black':
- correct_keyboard_response_2 = ''
- if self.get('pair_font') == 'Mono':
- correct_keyboard_response_2 = 'f'
- if self.get('pair_font') == 'Sans':
- correct_keyboard_response_2 = ''
- if self.get('pair_size') == '50':
- correct_keyboard_response_2 = 's'
- if self.get('pair_size') == '40':
- correct_keyboard_response_2 = ''
- # Set the correct response by giving the variable 'correct_cue_response'
- # a value:
- exp.set("correct_cue_response", correct_keyboard_response_2)
- __end__
- set description "Executes Python code"
- define inline_script p_response_script
- set _run ""
- ___prepare__
- # For the ongoing task:
- # Determine correct ongoing response, depending on whether the words
- # come from the rhyming or the non-rhyming list
- if stim_pair in list_rhymes:
- correct_keyboard_response_1 = 'm'
- if stim_pair in list_non_rhymes:
- correct_keyboard_response_1 = 'z'
- # Set the correct response for the ongoing task by giving the variable
- # 'correct_ongoing_response' a value:
- exp.set("correct_ongoing_response", correct_keyboard_response_1)
- __end__
- set description "Executes Python code"
- define text_display instructions_practice
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- Practice Session
- The following session will consist of 50 instances of word pairs.
- Please remember to press the
- <b>'Z' key for not rhyming pairs</b> and the <b>'M' key for rhyming pairs.</b>
- __end__
- set background "#ffffff"
- set duration "20000"
- set font_family "sans"
- define inline_script s2_keyboard_response
- set _run ""
- ___prepare__
- from openexp.keyboard import keyboard
- # The keypress timeout
- timeout = 2000
- # We poll for two responses. The first 'keyboard_response_1'
- # waits for a 'z' or an 'm'. The second waits for a 'b' or 'p'. These
- # responses can be given in arbitrary order, are stored in
- # different variables, and can time out indendently of each
- # other.
- exp.set('keyboard_response_1', None)
- exp.set('keyboard_response_time_1', None)
- keylist_1 = ['z', 'm']
- exp.set('keyboard_response_2', None)
- exp.set('keyboard_response_time_2', None)
- keylist_2 = ['b', 'p']
- # Create a keyboard object that doesn't block the
- # experiment, so we can use it to poll for keypresses
- # continuously.
- my_keyboard = keyboard(exp, timeout=0)
- # Loop until we timeout
- start_time = self.time()
- while self.time() - timeout < start_time:
- key, key_time = my_keyboard.get_key()
- # If a key from keylist 1 is pressed, set keyboard_response_1
- # and keyboard_response_time_1. Also, set key_list_1 to [], so
- # that we do not capture multiple keypresses from this list.
- if key in keylist_1:
- exp.set('keyboard_response_1', key)
- exp.set('keyboard_response_time_1', key_time - start_time)
- keylist_1 = []
- # The same principle is applied for keylist 2.
- if key in keylist_2:
- exp.set('keyboard_response_2', key)
- exp.set('keyboard_response_time_2', key_time - start_time)
- keylist_2 = []
- # Create a variable to check the key response against the expected response:
- if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
- correct_1 = '1'
- else:
- correct_1 = '0'
- exp.set("correct_1", correct_1)
- # ... Do the same for the second response:
- if self.get('keyboard_response_2') == self.get('correct_cue_response'):
- correct_2 = '1'
- else:
- correct_2 = '0'
- exp.set("correct_2", correct_2)
- __end__
- set description "Executes Python code"
- define inline_script s3_response_script
- set _run ""
- ___prepare__
- # For the ongoing task:
- # Determine correct ongoing response, depending on whether the words
- # come from the rhyming or the non-rhyming list
- if stim_pair in list_rhymes:
- correct_keyboard_response_1 = 'm'
- if stim_pair in list_non_rhymes:
- correct_keyboard_response_1 = 'z'
- # Set the correct response for the ongoing task by giving the variable
- # 'correct_ongoing_response' a value:
- exp.set("correct_ongoing_response", correct_keyboard_response_1)
- # For the cues:
- # Determine correct response, depending on cues in session
- if self.get('frame_colour') == 'Orange':
- correct_keyboard_response_2 = 'o'
- if self.get('frame_colour') == 'Black':
- correct_keyboard_response_2 = ''
- if self.get('pair_colour') == 'Red':
- correct_keyboard_response_2 = 'r'
- if self.get('pair_colour') == 'Black':
- correct_keyboard_response_2 = ''
- if self.get('pair_font') == 'Serif':
- correct_keyboard_response_2 = 'f'
- if self.get('pair_font') == 'Sans':
- correct_keyboard_response_2 = ''
- # Set the correct response by giving the variable 'correct_cue_response'
- # a value:
- exp.set("correct_cue_response", correct_keyboard_response_2)
- __end__
- set description "Executes Python code"
- define loop s3
- set repeat "1"
- set description "Repeatedly runs another item"
- set item "s3_sequence"
- set column_order ""
- set cycles "1"
- set order "sequential"
- run s3_sequence
- define loop s2
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "s2_sequence"
- set column_order ""
- set cycles "1"
- set order "sequential"
- run s2_sequence
- define loop s1
- set repeat "1"
- set description "Repeatedly runs another item"
- set item "s1_sequence"
- set column_order ""
- set cycles "1"
- set order "sequential"
- run s1_sequence
- define loop s4
- set repeat "1"
- set description "Repeatedly runs another item"
- set item "s4_sequence"
- set column_order ""
- set cycles "1"
- set order "sequential"
- run s4_sequence
- define loop countdown
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "feedback"
- set column_order "Countdown"
- set cycles "30"
- set order "sequential"
- setcycle 0 Countdown "30"
- setcycle 1 Countdown "29"
- setcycle 2 Countdown "28"
- setcycle 3 Countdown "27"
- setcycle 4 Countdown "26"
- setcycle 5 Countdown "25"
- setcycle 6 Countdown "24"
- setcycle 7 Countdown "23"
- setcycle 8 Countdown "22"
- setcycle 9 Countdown "21"
- setcycle 10 Countdown "20"
- setcycle 11 Countdown "19"
- setcycle 12 Countdown "18"
- setcycle 13 Countdown "17"
- setcycle 14 Countdown "16"
- setcycle 15 Countdown "15"
- setcycle 16 Countdown "14"
- setcycle 17 Countdown "13"
- setcycle 18 Countdown "12"
- setcycle 19 Countdown "11"
- setcycle 20 Countdown "10"
- setcycle 21 Countdown "9"
- setcycle 22 Countdown "8"
- setcycle 23 Countdown "7"
- setcycle 24 Countdown "6"
- setcycle 25 Countdown "5"
- setcycle 26 Countdown "4"
- setcycle 27 Countdown "3"
- setcycle 28 Countdown "2"
- setcycle 29 Countdown "1"
- run feedback
- define sequence experiment
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run experiment_brief "always"
- run read_tables "always"
- run instructions_practice "always"
- run countdown "always"
- run practice "always"
- run end_practice "always"
- run instructions_s1 "always"
- run countdown "always"
- run s1 "always"
- run end_s1 "always"
- run instructions_s2 "always"
- run countdown "always"
- run s2 "always"
- run end_s2 "always"
- run instructions_s3 "always"
- run countdown "always"
- run s3 "always"
- run end_s3 "always"
- run instructions_s4 "always"
- run countdown "always"
- run s4 "always"
- run end_s4 "always"
- run end_experiment "always"
- define text_display end_practice
- set foreground "Black"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- End of Practice.
- Press any key to continue.
- __end__
- set background "White"
- set duration "keypress"
- set font_family "sans"
- define text_display instructions_s4
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- Session D
- The following session will consist of 50 instances of word pairs.
- Please remember to press the
- <b>'Z' key for not rhyming pairs</b> and the <b>'M' key for rhyming pairs.</b>
- In addition, when the following events occur please press the corresponding key:
- 'S' key = change in font size
- 'F' key = word pair changes font style
- 'Y' key = border turns yellow
- 'K' key = word pair turns pink
- Responses should be carried out as quickly and accurately as possible.
- __end__
- set background "#ffffff"
- set duration "15000"
- set font_family "sans"
- define logger logger
- set ignore_missing "yes"
- set description "Logs experimental data"
- set auto_log "yes"
- set use_quotes "yes"
- log "response"
- log "response_time"
- log "correct"
- log "average_response_time"
- log "avg_rt"
- log "accuracy"
- log "acc"
- log "count_experiment"
- log "Countdown"
- log "count_s1_sequence"
- log "count_practice_sequence"
- log "count_s4_sequence"
- log "count_s2_sequence"
- log "count_s3_sequence"
- log "count_trial_sequence"
- log "response_keyboard_response"
- log "response_time_keyboard_response"
- log "correct_keyboard_response"
- define text_display instructions_s1
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- Session A
- The following session will consist of 50 instances of word pairs.
- Please remember to press the
- <b>'Z' key for not rhyming pairs</b> and the <b>'M' key for rhyming pairs.</b>
- In addition, when the following events occur please press the corresponding key:
- 'G' key = when border turns green
- Responses should be carried out as quickly and accurately as possible.
- __end__
- set background "#ffffff"
- set duration "20000"
- set font_family "sans"
- define text_display instructions_s2
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- Session B
- The following session will consist of 50 instances of word pairs.
- Please remember to press the
- <b>'Z' key for not rhyming pairs</b> and the <b>'M' key for rhyming pairs.</b>
- In addition, when the following events occur please press the corresponding key:
- 'P' key = word pair turns purple
- 'B' key = border turns blue
- Responses should be carried out as quickly and accurately as possible.
- __end__
- set background "#ffffff"
- set duration "20000"
- set font_family "sans"
- define text_display instructions_s3
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- Session C
- The following session will consist of 50 instances of word pairs.
- Please remember to press the
- <b>'Z' key for not rhyming pairs</b> and the <b>'M' key for rhyming pairs.</b>
- In addition, when the following events occur please press the corresponding key:
- 'O' key = border turns orange
- 'R' key = word pair turns red
- 'F' key = word pair changes font style
- Responses should be carried out as quickly and accurately as possible.
- __end__
- set background "#ffffff"
- set duration "20000"
- set font_family "sans"
- define sequence p_trial_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_script "always"
- run p_response_script "always"
- run p_trial_display "always"
- run p_keyboard_response "always"
- run logger "always"
- define inline_script p_keyboard_response
- set _run ""
- ___prepare__
- from openexp.keyboard import keyboard
- # The keypress timeout
- timeout = 2000
- # We poll for one response, a 'z' or an 'm'.
- exp.set('keyboard_response_1', None)
- exp.set('keyboard_response_time_1', None)
- keylist_1 = ['z', 'm']
- # Create a keyboard object that doesn't block the
- # experiment, so we can use it to poll for keypresses
- # continuously.
- my_keyboard = keyboard(exp, timeout=0)
- # Loop until we timeout
- start_time = self.time()
- while self.time() - timeout < start_time:
- key, key_time = my_keyboard.get_key()
- # If a key from keylist 1 is pressed, set keyboard_response_1
- # and keyboard_response_time_1. Also, set key_list_1 to [], so
- # that we do not capture multiple keypresses from this list.
- if key in keylist_1:
- exp.set('keyboard_response_1', key)
- exp.set('keyboard_response_time_1', key_time - start_time)
- keylist_1 = []
- # Create a variable to check the response against the expected response:
- if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
- correct_1 = '1'
- else:
- correct_1 = '0'
- exp.set("correct_1", correct_1)
- __end__
- set description "Executes Python code"
- define sequence s2_trial_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_script "always"
- run s2_response_script "always"
- run s2_trial_display "always"
- run s2_keyboard_response "always"
- run logger "always"
- define sketchpad s3_trial_display
- set duration "0"
- set description "Displays stimuli"
- draw textline -180 0 "[word1]" center=1 color=[pair_colour] font_family="[pair_font]" font_size=40 font_italic=no font_bold=no show_if="always"
- draw textline 180 0 "[word2]" center=1 color=[pair_colour] font_family="[pair_font]" font_size=40 font_italic=no font_bold=no show_if="always"
- draw rect -480 -160 960 320 fill=0 penwidth=3 color=[frame_colour] show_if="always"
- define loop practice
- set repeat "1"
- set description "Repeatedly runs another item"
- set item "practice_sequence"
- set column_order ""
- set cycles "1"
- set order "sequential"
- run practice_sequence
- define sequence s1_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_task "always"
- run s1_block_loop "always"
- define sequence s3_trial_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_script "always"
- run s3_response_script "always"
- run s3_trial_display "always"
- run s3_keyboard_response "always"
- run logger "always"
- define sketchpad s4_trial_display
- set duration "0"
- set description "Displays stimuli"
- draw textline -180 0 "[word1]" center=1 color=[pair_colour] font_family="[pair_font]" font_size=[pair_size] font_italic=no font_bold=no show_if="always"
- draw textline 180 0 "[word2]" center=1 color=[pair_colour] font_family="[pair_font]" font_size=[pair_size] font_italic=no font_bold=no show_if="always"
- draw rect -480 -160 960 320 fill=0 penwidth=3 color=[frame_colour] show_if="always"
- define inline_script s1_response_script
- set _run ""
- ___prepare__
- # For the ongoing task:
- # Determine correct ongoing response, depending on whether the words
- # come from the rhyming or the non-rhyming list
- if stim_pair in list_rhymes:
- correct_keyboard_response_1 = 'm'
- if stim_pair in list_non_rhymes:
- correct_keyboard_response_1 = 'z'
- # Set the correct response for the ongoing task by giving the variable
- # 'correct_ongoing_response' a value:
- exp.set("correct_ongoing_response", correct_keyboard_response_1)
- # For the cues:
- # Determine correct response, depending on cues in session
- if self.get('frame_colour') == 'Green':
- correct_keyboard_response_2 = 'g'
- if self.get('frame_colour') == 'Black':
- correct_keyboard_response_2 = ''
- # Set the correct response by giving the variable 'correct_cue_response'
- # a value:
- exp.set("correct_cue_response", correct_keyboard_response_2)
- __end__
- set description "Executes Python code"
- define sequence practice_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_task "always"
- run p_block_loop "always"
- define sequence s4_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_task "always"
- run s4_block_loop "always"
- define inline_script ongoing_script
- set _run ""
- ___prepare__
- # Determine the word pair of the current trial by drawing one word pair
- # from the previously defined block list.
- # To avoid repeat display of word pairs and non-display of others, draw
- # pairs without replacement by using the built-in Python function pop() .
- stim_pair = block_list.pop()
- print stim_pair
- # The pair is separated by a comma (they come from a .csv file).
- # Split them by using the built-in Python function split() :
- word1, word2 = stim_pair.split(",")
- # To make the variables word1 and word2 available in the GUI (e.g. a
- # sketchpad item), use the built-in OpenSesame function exp.set() :
- exp.set("word1", word1)
- exp.set("word2", word2)
- # Now square bracket method can be used to display values
- # of those two variables in the sketchpad item.
- __end__
- set description "Executes Python code"
- define text_display end_s4
- set foreground "#000000"
- set font_size "20"
- set description "Presents a display consisting of text"
- set maxchar "200"
- set align "center"
- __content__
- End of Session D.
- Press any key to continue.
- __end__
- set background "#ffffff"
- set duration "keypress"
- set font_family "sans"
- define sequence s2_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_task "always"
- run s2_block_loop "always"
- define loop s4_block_loop
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "sequence"
- set column_order "frame_colour;pair_colour;pair_font;correct_cue_response;pair_size"
- set cycles "50"
- set order "sequential"
- setcycle 0 pair_colour "Black"
- setcycle 0 pair_size "40"
- setcycle 0 frame_colour "Black"
- setcycle 0 correct_cue_response ""
- setcycle 0 pair_font "Sans"
- setcycle 1 pair_colour "Black"
- setcycle 1 pair_size "40"
- setcycle 1 frame_colour "Black"
- setcycle 1 correct_cue_response ""
- setcycle 1 pair_font "Sans"
- setcycle 2 pair_colour "Black"
- setcycle 2 pair_size "40"
- setcycle 2 frame_colour "Black"
- setcycle 2 correct_cue_response ""
- setcycle 2 pair_font "Sans"
- setcycle 3 pair_colour "Black"
- setcycle 3 pair_size "40"
- setcycle 3 frame_colour "Black"
- setcycle 3 correct_cue_response ""
- setcycle 3 pair_font "Sans"
- setcycle 4 pair_colour "Black"
- setcycle 4 pair_size "40"
- setcycle 4 frame_colour "Yellow"
- setcycle 4 correct_cue_response "y"
- setcycle 4 pair_font "Sans"
- setcycle 5 pair_colour "Black"
- setcycle 5 pair_size "40"
- setcycle 5 frame_colour "Black"
- setcycle 5 correct_cue_response ""
- setcycle 5 pair_font "Sans"
- setcycle 6 pair_colour "Black"
- setcycle 6 pair_size "40"
- setcycle 6 frame_colour "Black"
- setcycle 6 correct_cue_response ""
- setcycle 6 pair_font "Sans"
- setcycle 7 pair_colour "Black"
- setcycle 7 pair_size "40"
- setcycle 7 frame_colour "Black"
- setcycle 7 correct_cue_response ""
- setcycle 7 pair_font "Sans"
- setcycle 8 pair_colour "Black"
- setcycle 8 pair_size "40"
- setcycle 8 frame_colour "Black"
- setcycle 8 correct_cue_response ""
- setcycle 8 pair_font "Sans"
- setcycle 9 pair_colour "Pink"
- setcycle 9 pair_size "40"
- setcycle 9 frame_colour "Black"
- setcycle 9 correct_cue_response "k"
- setcycle 9 pair_font "Sans"
- setcycle 10 pair_colour "Black"
- setcycle 10 pair_size "40"
- setcycle 10 frame_colour "Black"
- setcycle 10 correct_cue_response ""
- setcycle 10 pair_font "Sans"
- setcycle 11 pair_colour "Black"
- setcycle 11 pair_size "40"
- setcycle 11 frame_colour "Black"
- setcycle 11 correct_cue_response ""
- setcycle 11 pair_font "Sans"
- setcycle 12 pair_colour "Black"
- setcycle 12 pair_size "40"
- setcycle 12 frame_colour "Black"
- setcycle 12 correct_cue_response ""
- setcycle 12 pair_font "Sans"
- setcycle 13 pair_colour "Black"
- setcycle 13 pair_size "40"
- setcycle 13 frame_colour "Black"
- setcycle 13 correct_cue_response ""
- setcycle 13 pair_font "Sans"
- setcycle 14 pair_colour "Black"
- setcycle 14 pair_size "40"
- setcycle 14 frame_colour "Black"
- setcycle 14 correct_cue_response "f"
- setcycle 14 pair_font "Mono"
- setcycle 15 pair_colour "Black"
- setcycle 15 pair_size "40"
- setcycle 15 frame_colour "Black"
- setcycle 15 correct_cue_response ""
- setcycle 15 pair_font "Sans"
- setcycle 16 pair_colour "Black"
- setcycle 16 pair_size "40"
- setcycle 16 frame_colour "Black"
- setcycle 16 correct_cue_response ""
- setcycle 16 pair_font "Sans"
- setcycle 17 pair_colour "Black"
- setcycle 17 pair_size "40"
- setcycle 17 frame_colour "Black"
- setcycle 17 correct_cue_response ""
- setcycle 17 pair_font "Sans"
- setcycle 18 pair_colour "Black"
- setcycle 18 pair_size "40"
- setcycle 18 frame_colour "Black"
- setcycle 18 correct_cue_response ""
- setcycle 18 pair_font "Sans"
- setcycle 19 pair_colour "Black"
- setcycle 19 pair_size "50"
- setcycle 19 frame_colour "Black"
- setcycle 19 correct_cue_response "s"
- setcycle 19 pair_font "Sans"
- setcycle 20 pair_colour "Black"
- setcycle 20 pair_size "40"
- setcycle 20 frame_colour "Black"
- setcycle 20 correct_cue_response ""
- setcycle 20 pair_font "Sans"
- setcycle 21 pair_colour "Black"
- setcycle 21 pair_size "40"
- setcycle 21 frame_colour "Black"
- setcycle 21 correct_cue_response ""
- setcycle 21 pair_font "Sans"
- setcycle 22 pair_colour "Black"
- setcycle 22 pair_size "40"
- setcycle 22 frame_colour "Black"
- setcycle 22 correct_cue_response ""
- setcycle 22 pair_font "Sans"
- setcycle 23 pair_colour "Black"
- setcycle 23 pair_size "40"
- setcycle 23 frame_colour "Black"
- setcycle 23 correct_cue_response ""
- setcycle 23 pair_font "Sans"
- setcycle 24 pair_colour "Black"
- setcycle 24 pair_size "40"
- setcycle 24 frame_colour "Black"
- setcycle 24 correct_cue_response "f"
- setcycle 24 pair_font "Mono"
- setcycle 25 pair_colour "Black"
- setcycle 25 pair_size "40"
- setcycle 25 frame_colour "Black"
- setcycle 25 correct_cue_response ""
- setcycle 25 pair_font "Sans"
- setcycle 26 pair_colour "Black"
- setcycle 26 pair_size "40"
- setcycle 26 frame_colour "Black"
- setcycle 26 correct_cue_response ""
- setcycle 26 pair_font "Sans"
- setcycle 27 pair_colour "Black"
- setcycle 27 pair_size "40"
- setcycle 27 frame_colour "Black"
- setcycle 27 correct_cue_response ""
- setcycle 27 pair_font "Sans"
- setcycle 28 pair_colour "Black"
- setcycle 28 pair_size "40"
- setcycle 28 frame_colour "Black"
- setcycle 28 correct_cue_response ""
- setcycle 28 pair_font "Sans"
- setcycle 29 pair_colour "Black"
- setcycle 29 pair_size "40"
- setcycle 29 frame_colour "Black"
- setcycle 29 correct_cue_response ""
- setcycle 29 pair_font "Sans"
- setcycle 30 pair_colour "Black"
- setcycle 30 pair_size "40"
- setcycle 30 frame_colour "Black"
- setcycle 30 correct_cue_response ""
- setcycle 30 pair_font "Sans"
- setcycle 31 pair_colour "Black"
- setcycle 31 pair_size "40"
- setcycle 31 frame_colour "Black"
- setcycle 31 correct_cue_response ""
- setcycle 31 pair_font "Sans"
- setcycle 32 pair_colour "Black"
- setcycle 32 pair_size "40"
- setcycle 32 frame_colour "Black"
- setcycle 32 correct_cue_response ""
- setcycle 32 pair_font "Sans"
- setcycle 33 pair_colour "Black"
- setcycle 33 pair_size "40"
- setcycle 33 frame_colour "Black"
- setcycle 33 correct_cue_response ""
- setcycle 33 pair_font "Sans"
- setcycle 34 pair_colour "Pink"
- setcycle 34 pair_size "40"
- setcycle 34 frame_colour "Black"
- setcycle 34 correct_cue_response "k"
- setcycle 34 pair_font "Sans"
- setcycle 35 pair_colour "Black"
- setcycle 35 pair_size "40"
- setcycle 35 frame_colour "Black"
- setcycle 35 correct_cue_response ""
- setcycle 35 pair_font "Sans"
- setcycle 36 pair_colour "Black"
- setcycle 36 pair_size "40"
- setcycle 36 frame_colour "Black"
- setcycle 36 correct_cue_response ""
- setcycle 36 pair_font "Sans"
- setcycle 37 pair_colour "Black"
- setcycle 37 pair_size "40"
- setcycle 37 frame_colour "Black"
- setcycle 37 correct_cue_response ""
- setcycle 37 pair_font "Sans"
- setcycle 38 pair_colour "Black"
- setcycle 38 pair_size "40"
- setcycle 38 frame_colour "Black"
- setcycle 38 correct_cue_response ""
- setcycle 38 pair_font "Sans"
- setcycle 39 pair_colour "Black"
- setcycle 39 pair_size "40"
- setcycle 39 frame_colour "Black"
- setcycle 39 correct_cue_response ""
- setcycle 39 pair_font "Sans"
- setcycle 40 pair_colour "Black"
- setcycle 40 pair_size "40"
- setcycle 40 frame_colour "Black"
- setcycle 40 correct_cue_response ""
- setcycle 40 pair_font "Sans"
- setcycle 41 pair_colour "Black"
- setcycle 41 pair_size "40"
- setcycle 41 frame_colour "Black"
- setcycle 41 correct_cue_response ""
- setcycle 41 pair_font "Sans"
- setcycle 42 pair_colour "Black"
- setcycle 42 pair_size "40"
- setcycle 42 frame_colour "Black"
- setcycle 42 correct_cue_response ""
- setcycle 42 pair_font "Sans"
- setcycle 43 pair_colour "Black"
- setcycle 43 pair_size "40"
- setcycle 43 frame_colour "Black"
- setcycle 43 correct_cue_response ""
- setcycle 43 pair_font "Sans"
- setcycle 44 pair_colour "Black"
- setcycle 44 pair_size "40"
- setcycle 44 frame_colour "Yellow"
- setcycle 44 correct_cue_response "y"
- setcycle 44 pair_font "Sans"
- setcycle 45 pair_colour "Black"
- setcycle 45 pair_size "40"
- setcycle 45 frame_colour "Black"
- setcycle 45 correct_cue_response ""
- setcycle 45 pair_font "Sans"
- setcycle 46 pair_colour "Black"
- setcycle 46 pair_size "40"
- setcycle 46 frame_colour "Black"
- setcycle 46 correct_cue_response ""
- setcycle 46 pair_font "Sans"
- setcycle 47 pair_colour "Black"
- setcycle 47 pair_size "40"
- setcycle 47 frame_colour "Black"
- setcycle 47 correct_cue_response ""
- setcycle 47 pair_font "Sans"
- setcycle 48 pair_colour "Black"
- setcycle 48 pair_size "40"
- setcycle 48 frame_colour "Black"
- setcycle 48 correct_cue_response ""
- setcycle 48 pair_font "Sans"
- setcycle 49 pair_colour "Black"
- setcycle 49 pair_size "50"
- setcycle 49 frame_colour "Black"
- setcycle 49 correct_cue_response "s"
- setcycle 49 pair_font "Sans"
- run sequence
- define sketchpad s1_trial_display
- set duration "0"
- set description "Displays stimuli"
- draw textline -180 0 "[word1]" center=1 color=black font_family="sans" font_size=40 font_italic=no font_bold=no show_if="always"
- draw textline 180 0 "[word2]" center=1 color=black font_family="sans" font_size=40 font_italic=no font_bold=no show_if="always"
- draw rect -480 -160 960 320 fill=0 penwidth=3 color=[frame_colour] show_if="always"
- define sequence s3_sequence
- set flush_keyboard "yes"
- set description "Runs a number of items in sequence"
- run ongoing_task "always"
- run s3_block_loop "always"
- define sketchpad s2_trial_display
- set duration "0"
- set description "Displays stimuli"
- draw textline -180 0 "[word1]" center=1 color=[pair_colour] font_family="sans" font_size=40 font_italic=no font_bold=no show_if="always"
- draw textline 180 0 "[word2]" center=1 color=[pair_colour] font_family="sans" font_size=40 font_italic=no font_bold=no show_if="always"
- draw rect -480 -160 960 320 fill=0 penwidth=3 color=[frame_colour] show_if="always"
- define inline_script read_tables
- set _run ""
- ___prepare__
- # Read the lists of the 50 rhyming pairs and the 50
- # non-rhyming pairs from the two seperate .csv files.
- # Specify the paths to the files containing the pairs
- # by using the built-in OpenSesame function exp.get_file.
- path_rhymes = exp.get_file("rhyming_pairs.csv")
- path_non_rhymes = exp.get_file("non_rhyme_pairs.csv")
- # Use the built-in Python module numpy to read the .csv file:
- # Import the module
- import numpy as np
- # And load the text file.
- list_rhymes = np.loadtxt(path_rhymes, dtype = str)
- list_non_rhymes = np.loadtxt(path_non_rhymes, dtype = str)
- # Make the two lists global for future use:
- global list_rhymes, list_non_rhymes
- __end__
- set description "Executes Python code"
- define loop s2_block_loop
- set repeat "1"
- set description "Repeatedly runs another item"
- set skip "0"
- set item "s2_trial_sequence"
- set column_order "frame_colour;pair_colour;correct_cue_response"
- set cycles "50"
- set order "sequential"
- setcycle 0 pair_colour "Black"
- setcycle 0 frame_colour "Black"
- setcycle 0 correct_cue_response ""
- setcycle 1 pair_colour "Black"
- setcycle 1 frame_colour "Black"
- setcycle 1 correct_cue_response ""
- setcycle 2 pair_colour "Black"
- setcycle 2 frame_colour "Black"
- setcycle 2 correct_cue_response ""
- setcycle 3 pair_colour "Black"
- setcycle 3 frame_colour "Black"
- setcycle 3 correct_cue_response ""
- setcycle 4 pair_colour "Black"
- setcycle 4 frame_colour "Black"
- setcycle 4 correct_cue_response ""
- setcycle 5 pair_colour "Black"
- setcycle 5 frame_colour "Black"
- setcycle 5 correct_cue_response ""
- setcycle 6 pair_colour "Black"
- setcycle 6 frame_colour "Black"
- setcycle 6 correct_cue_response ""
- setcycle 7 pair_colour "Black"
- setcycle 7 frame_colour "Black"
- setcycle 7 correct_cue_response ""
- setcycle 8 pair_colour "Black"
- setcycle 8 frame_colour "Black"
- setcycle 8 correct_cue_response ""
- setcycle 9 pair_colour "Purple"
- setcycle 9 frame_colour "Black"
- setcycle 9 correct_cue_response "p"
- setcycle 10 pair_colour "Black"
- setcycle 10 frame_colour "Black"
- setcycle 10 correct_cue_response ""
- setcycle 11 pair_colour "Black"
- setcycle 11 frame_colour "Black"
- setcycle 11 correct_cue_response ""
- setcycle 12 pair_colour "Black"
- setcycle 12 frame_colour "Black"
- setcycle 12 correct_cue_response ""
- setcycle 13 pair_colour "Black"
- setcycle 13 frame_colour "Black"
- setcycle 13 correct_cue_response ""
- setcycle 14 pair_colour "Black"
- setcycle 14 frame_colour "Black"
- setcycle 14 correct_cue_response ""
- setcycle 15 pair_colour "Black"
- setcycle 15 frame_colour "Black"
- setcycle 15 correct_cue_response ""
- setcycle 16 pair_colour "Black"
- setcycle 16 frame_colour "Black"
- setcycle 16 correct_cue_response ""
- setcycle 17 pair_colour "Black"
- setcycle 17 frame_colour "Black"
- setcycle 17 correct_cue_response ""
- setcycle 18 pair_colour "Black"
- setcycle 18 frame_colour "Black"
- setcycle 18 correct_cue_response ""
- setcycle 19 pair_colour "Black"
- setcycle 19 frame_colour "Black"
- setcycle 19 correct_cue_response ""
- setcycle 20 pair_colour "Black"
- setcycle 20 frame_colour "Black"
- setcycle 20 correct_cue_response ""
- setcycle 21 pair_colour "Black"
- setcycle 21 frame_colour "Black"
- setcycle 21 correct_cue_response ""
- setcycle 22 pair_colour "Black"
- setcycle 22 frame_colour "Black"
- setcycle 22 correct_cue_response ""
- setcycle 23 pair_colour "Black"
- setcycle 23 frame_colour "Black"
- setcycle 23 correct_cue_response ""
- setcycle 24 pair_colour "Black"
- setcycle 24 frame_colour "Blue"
- setcycle 24 correct_cue_response "b"
- setcycle 25 pair_colour "Black"
- setcycle 25 frame_colour "Black"
- setcycle 25 correct_cue_response ""
- setcycle 26 pair_colour "Black"
- setcycle 26 frame_colour "Black"
- setcycle 26 correct_cue_response ""
- setcycle 27 pair_colour "Black"
- setcycle 27 frame_colour "Black"
- setcycle 27 correct_cue_response ""
- setcycle 28 pair_colour "Black"
- setcycle 28 frame_colour "Black"
- setcycle 28 correct_cue_response ""
- setcycle 29 pair_colour "Black"
- setcycle 29 frame_colour "Black"
- setcycle 29 correct_cue_response ""
- setcycle 30 pair_colour "Black"
- setcycle 30 frame_colour "Black"
- setcycle 30 correct_cue_response ""
- setcycle 31 pair_colour "Black"
- setcycle 31 frame_colour "Black"
- setcycle 31 correct_cue_response ""
- setcycle 32 pair_colour "Black"
- setcycle 32 frame_colour "Black"
- setcycle 32 correct_cue_response ""
- setcycle 33 pair_colour "Black"
- setcycle 33 frame_colour "Black"
- setcycle 33 correct_cue_response ""
- setcycle 34 pair_colour "Black"
- setcycle 34 frame_colour "Black"
- setcycle 34 correct_cue_response ""
- setcycle 35 pair_colour "Black"
- setcycle 35 frame_colour "Black"
- setcycle 35 correct_cue_response ""
- setcycle 36 pair_colour "Black"
- setcycle 36 frame_colour "Black"
- setcycle 36 correct_cue_response ""
- setcycle 37 pair_colour "Black"
- setcycle 37 frame_colour "Black"
- setcycle 37 correct_cue_response ""
- setcycle 38 pair_colour "Black"
- setcycle 38 frame_colour "Black"
- setcycle 38 correct_cue_response ""
- setcycle 39 pair_colour "Black"
- setcycle 39 frame_colour "Blue"
- setcycle 39 correct_cue_response "b"
- setcycle 40 pair_colour "Black"
- setcycle 40 frame_colour "Black"
- setcycle 40 correct_cue_response ""
- setcycle 41 pair_colour "Black"
- setcycle 41 frame_colour "Black"
- setcycle 41 correct_cue_response ""
- setcycle 42 pair_colour "Black"
- setcycle 42 frame_colour "Black"
- setcycle 42 correct_cue_response ""
- setcycle 43 pair_colour "Black"
- setcycle 43 frame_colour "Black"
- setcycle 43 correct_cue_response ""
- setcycle 44 pair_colour "Black"
- setcycle 44 frame_colour "Black"
- setcycle 44 correct_cue_response ""
- setcycle 45 pair_colour "Black"
- setcycle 45 frame_colour "Black"
- setcycle 45 correct_cue_response ""
- setcycle 46 pair_colour "Black"
- setcycle 46 frame_colour "Black"
- setcycle 46 correct_cue_response ""
- setcycle 47 pair_colour "Black"
- setcycle 47 frame_colour "Black"
- setcycle 47 correct_cue_response ""
- setcycle 48 pair_colour "Black"
- setcycle 48 frame_colour "Black"
- setcycle 48 correct_cue_response ""
- setcycle 49 pair_colour "Purple"
- setcycle 49 frame_colour "Black"
- setcycle 49 correct_cue_response "p"
- run s2_trial_sequence
- define inline_script ongoing_task
- set _run ""
- ___prepare__
- # Randomise the from-the-csv-files-read lists
- # and draw two samples containing the necessary numbers of rhymes and non-rhymes, respectively.
- # First, randomise the lists using the function random.shuffle() from
- # the built-in Python module random:
- import random
- random.shuffle(list_rhymes)
- random.shuffle(list_non_rhymes)
- # Use the function random.sample() to obtain two lists containing the
- # desired number of rhyme pairs and non-rhyme pairs.
- # The number of pairs per list is equal to half of the number of pairs in the
- # original list (i.e. 25 rhyme pairs and 25 non-rhyme pairs).
- samples_rhymes = random.sample(list_rhymes,len(list_rhymes)/2)
- samples_non_rhymes = random.sample(list_non_rhymes, len(list_non_rhymes)/2)
- # The two lists are merged to create one block list:
- block_list = samples_rhymes + samples_non_rhymes
- # The block list is then shuffled:
- random.shuffle(block_list)
- # Block list made global for future use:
- global block_list
- __end__
- set description "Executes Python code"
- define parallel parallel
- run s1_keyboard_response "always"
- define inline_script s4_keyboard_response
- set _run ""
- ___prepare__
- from openexp.keyboard import keyboard
- # The keypress timeout
- timeout = 2000
- # We poll for two responses. The first 'keyboard_response_1'
- # waits for a 'z' or an 'm'. The second waits for a 'y', 'k', 'f' or 's'. These
- # responses can be given in arbitrary order, are stored in
- # different variables, and can time out indendently of each
- # other.
- exp.set('keyboard_response_1', None)
- exp.set('keyboard_response_time_1', None)
- keylist_1 = ['z', 'm']
- exp.set('keyboard_response_2', None)
- exp.set('keyboard_response_time_2', None)
- keylist_2 = ['y', 'k', 'f', 's']
- # Create a keyboard object that doesn't block the
- # experiment, so we can use it to poll for keypresses
- # continuously.
- my_keyboard = keyboard(exp, timeout=0)
- # Loop until we timeout
- start_time = self.time()
- while self.time() - timeout < start_time:
- key, key_time = my_keyboard.get_key()
- # If a key from keylist 1 is pressed, set keyboard_response_1
- # and keyboard_response_time_1. Also, set key_list_1 to [], so
- # that we do not capture multiple keypresses from this list.
- if key in keylist_1:
- exp.set('keyboard_response_1', key)
- exp.set('keyboard_response_time_1', key_time - start_time)
- keylist_1 = []
- # The same principle is applied for keylist 2.
- if key in keylist_2:
- exp.set('keyboard_response_2', key)
- exp.set('keyboard_response_time_2', key_time - start_time)
- keylist_2 = []
- # Create a variable to check the key response against the expected response:
- if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
- correct_1 = '1'
- else:
- correct_1 = '0'
- exp.set("correct_1", correct_1)
- # ... Do the same for the second response:
- if self.get('keyboard_response_2') == self.get('correct_cue_response'):
- correct_2 = '1'
- else:
- correct_2 = '0'
- exp.set("correct_2", correct_2)
- __end__
- set description "Executes Python code"
- define inline_script s1_keyboard_response
- set _run ""
- ___prepare__
- from openexp.keyboard import keyboard
- # The keypress timeout
- timeout = 2000
- # We poll for two responses. The first 'keyboard_response_1'
- # waits for a 'z' or an 'm'. The second waits for a 'g'. These
- # responses can be given in arbitrary order, are stored in
- # different variables, and can time out indendently of each
- # other.
- exp.set('keyboard_response_1', None)
- exp.set('keyboard_response_time_1', None)
- keylist_1 = ['z', 'm']
- exp.set('keyboard_response_2', None)
- exp.set('keyboard_response_time_2', None)
- keylist_2 = ['g']
- # Create a keyboard object that doesn't block the
- # experiment, so we can use it to poll for keypresses
- # continuously.
- my_keyboard = keyboard(exp, timeout=0)
- # Loop until we timeout
- start_time = self.time()
- while self.time() - timeout < start_time:
- key, key_time = my_keyboard.get_key()
- # If a key from keylist 1 is pressed, set keyboard_response_1
- # and keyboard_response_time_1. Also, set key_list_1 to [], so
- # that we do not capture multiple keypresses from this list.
- if key in keylist_1:
- exp.set('keyboard_response_1', key)
- exp.set('keyboard_response_time_1', key_time - start_time)
- keylist_1 = []
- # The same principle is applied for keylist 2.
- if key in keylist_2:
- exp.set('keyboard_response_2', key)
- exp.set('keyboard_response_time_2', key_time - start_time)
- keylist_2 = []
- # Create a variable to check the key response against the expected response:
- if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
- correct_1 = '1'
- else:
- correct_1 = '0'
- exp.set("correct_1", correct_1)
- # ... Do the same for the second response:
- if self.get('keyboard_response_2') == self.get('correct_cue_response'):
- correct_2 = '1'
- else:
- correct_2 = '0'
- exp.set("correct_2", correct_2)
- __end__
- set description "Executes Python code"
- define inline_script s2_response_script
- set _run ""
- ___prepare__
- # For the ongoing task:
- # Determine correct ongoing response, depending on whether the words
- # come from the rhyming or the non-rhyming list
- if stim_pair in list_rhymes:
- correct_keyboard_response_1 = 'm'
- if stim_pair in list_non_rhymes:
- correct_keyboard_response_1 = 'z'
- # Set the correct response for the ongoing task by giving the variable
- # 'correct_ongoing_response' a value:
- exp.set("correct_ongoing_response", correct_keyboard_response_1)
- # For the cues:
- # Determine correct response, depending on cues in session
- if self.get('frame_colour') == 'Blue':
- correct_keyboard_response_2 = 'b'
- if self.get('frame_colour') == 'Black':
- correct_keyboard_response_2 = ''
- if self.get('pair_colour') == 'Purple':
- correct_keyboard_response_2 = 'p'
- if self.get('pair_colour') == 'Black':
- correct_keyboard_response_2 = ''
- # Set the correct response by giving the variable 'correct_cue_response'
- # a value:
- exp.set("correct_cue_response", correct_keyboard_response_2)
- __end__
- set description "Executes Python code"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement