---
API: 2.1
OpenSesame: 3.2.8
Platform: nt
---
set width 1680
set uniform_coordinates yes
set title "Sequential effect"
set subject_parity even
set subject_nr 0
set start experiment
set sound_sample_size -16
set sound_freq 48000
set sound_channels 2
set sound_buf_size 1024
set sampler_backend legacy
set round_decimals 2
set mouse_backend psycho
set keyboard_backend psycho
set height 1050
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 "C:\\Users\\zxu230\\Desktop"
set disable_garbage_collection yes
set description "A template containing a practice and an experimental phase"
set coordinates uniform
set compensation 0
set color_backend psycho
set clock_backend psycho
set canvas_backend psycho
set bidi yes
set background black
define loop block_loop
set source_file ""
set source table
set skip 0
set repeat 3
set order random
set offset no
set item trial_sequence
set description "A single block of trials"
set cycles 24
set continuous no
set column_order ""
set break_if_on_first yes
set break_if never
setcycle 0 fp_length 400
setcycle 0 gap_orientation left
setcycle 0 target_length 14
setcycle 0 correct_response z
setcycle 1 fp_length 800
setcycle 1 gap_orientation left
setcycle 1 target_length 14
setcycle 1 correct_response z
setcycle 2 fp_length 1200
setcycle 2 gap_orientation left
setcycle 2 target_length 14
setcycle 2 correct_response z
setcycle 3 fp_length 1600
setcycle 3 gap_orientation left
setcycle 3 target_length 14
setcycle 3 correct_response z
setcycle 4 fp_length 400
setcycle 4 gap_orientation right
setcycle 4 target_length 14
setcycle 4 correct_response "/"
setcycle 5 fp_length 800
setcycle 5 gap_orientation right
setcycle 5 target_length 14
setcycle 5 correct_response "/"
setcycle 6 fp_length 1200
setcycle 6 gap_orientation right
setcycle 6 target_length 14
setcycle 6 correct_response "/"
setcycle 7 fp_length 1600
setcycle 7 gap_orientation right
setcycle 7 target_length 14
setcycle 7 correct_response "/"
setcycle 8 fp_length 400
setcycle 8 gap_orientation left
setcycle 8 target_length 30
setcycle 8 correct_response z
setcycle 9 fp_length 800
setcycle 9 gap_orientation left
setcycle 9 target_length 30
setcycle 9 correct_response z
setcycle 10 fp_length 1200
setcycle 10 gap_orientation left
setcycle 10 target_length 30
setcycle 10 correct_response z
setcycle 11 fp_length 1600
setcycle 11 gap_orientation left
setcycle 11 target_length 30
setcycle 11 correct_response z
setcycle 12 fp_length 400
setcycle 12 gap_orientation right
setcycle 12 target_length 30
setcycle 12 correct_response "/"
setcycle 13 fp_length 800
setcycle 13 gap_orientation right
setcycle 13 target_length 30
setcycle 13 correct_response "/"
setcycle 14 fp_length 1200
setcycle 14 gap_orientation right
setcycle 14 target_length 30
setcycle 14 correct_response "/"
setcycle 15 fp_length 1600
setcycle 15 gap_orientation right
setcycle 15 target_length 30
setcycle 15 correct_response "/"
setcycle 16 fp_length 400
setcycle 16 gap_orientation left
setcycle 16 target_length 46
setcycle 16 correct_response z
setcycle 17 fp_length 800
setcycle 17 gap_orientation left
setcycle 17 target_length 46
setcycle 17 correct_response z
setcycle 18 fp_length 1200
setcycle 18 gap_orientation left
setcycle 18 target_length 46
setcycle 18 correct_response z
setcycle 19 fp_length 1600
setcycle 19 gap_orientation left
setcycle 19 target_length 46
setcycle 19 correct_response z
setcycle 20 fp_length 400
setcycle 20 gap_orientation right
setcycle 20 target_length 46
setcycle 20 correct_response "/"
setcycle 21 fp_length 800
setcycle 21 gap_orientation right
setcycle 21 target_length 46
setcycle 21 correct_response "/"
setcycle 22 fp_length 1200
setcycle 22 gap_orientation right
setcycle 22 target_length 46
setcycle 22 correct_response "/"
setcycle 23 fp_length 1600
setcycle 23 gap_orientation right
setcycle 23 target_length 46
setcycle 23 correct_response "/"
run trial_sequence
define loop block_loop_1
set source_file ""
set source table
set skip 0
set repeat 1
set order sequential
set offset no
set item trial_sequence
set description "A single block of trials"
set cycles 128
set continuous no
set column_order ""
set break_if_on_first yes
set break_if never
setcycle 0 fp_length 800
setcycle 0 fp_p 800
setcycle 0 sequence 88
setcycle 0 gap_orientation right
setcycle 0 target_length 14
setcycle 0 correct_response "/"
setcycle 1 fp_length 400
setcycle 1 fp_p 800
setcycle 1 sequence 84
setcycle 1 gap_orientation left
setcycle 1 target_length 14
setcycle 1 correct_response z
setcycle 2 fp_length 400
setcycle 2 fp_p 400
setcycle 2 sequence 44
setcycle 2 gap_orientation left
setcycle 2 target_length 46
setcycle 2 correct_response z
setcycle 3 fp_length 1600
setcycle 3 fp_p 400
setcycle 3 sequence 416
setcycle 3 gap_orientation left
setcycle 3 target_length 30
setcycle 3 correct_response z
setcycle 4 fp_length 400
setcycle 4 fp_p 1600
setcycle 4 sequence 164
setcycle 4 gap_orientation right
setcycle 4 target_length 14
setcycle 4 correct_response "/"
setcycle 5 fp_length 1200
setcycle 5 fp_p 400
setcycle 5 sequence 412
setcycle 5 gap_orientation right
setcycle 5 target_length 46
setcycle 5 correct_response "/"
setcycle 6 fp_length 400
setcycle 6 fp_p 1200
setcycle 6 sequence 124
setcycle 6 gap_orientation right
setcycle 6 target_length 46
setcycle 6 correct_response "/"
setcycle 7 fp_length 800
setcycle 7 fp_p 400
setcycle 7 sequence 48
setcycle 7 gap_orientation right
setcycle 7 target_length 14
setcycle 7 correct_response "/"
setcycle 8 fp_length 1600
setcycle 8 fp_p 800
setcycle 8 sequence 816
setcycle 8 gap_orientation right
setcycle 8 target_length 30
setcycle 8 correct_response "/"
setcycle 9 fp_length 1600
setcycle 9 fp_p 1600
setcycle 9 sequence 1616
setcycle 9 gap_orientation left
setcycle 9 target_length 46
setcycle 9 correct_response z
setcycle 10 fp_length 1200
setcycle 10 fp_p 1600
setcycle 10 sequence 1612
setcycle 10 gap_orientation left
setcycle 10 target_length 14
setcycle 10 correct_response z
setcycle 11 fp_length 1600
setcycle 11 fp_p 1200
setcycle 11 sequence 1216
setcycle 11 gap_orientation right
setcycle 11 target_length 46
setcycle 11 correct_response "/"
setcycle 12 fp_length 800
setcycle 12 fp_p 1600
setcycle 12 sequence 168
setcycle 12 gap_orientation left
setcycle 12 target_length 30
setcycle 12 correct_response z
setcycle 13 fp_length 1200
setcycle 13 fp_p 800
setcycle 13 sequence 812
setcycle 13 gap_orientation left
setcycle 13 target_length 30
setcycle 13 correct_response z
setcycle 14 fp_length 1200
setcycle 14 fp_p 1200
setcycle 14 sequence 1212
setcycle 14 gap_orientation right
setcycle 14 target_length 30
setcycle 14 correct_response "/"
setcycle 15 fp_length 800
setcycle 15 fp_p 1200
setcycle 15 sequence 128
setcycle 15 gap_orientation left
setcycle 15 target_length 14
setcycle 15 correct_response z
setcycle 16 fp_length 800
setcycle 16 fp_p 800
setcycle 16 sequence 88
setcycle 16 gap_orientation left
setcycle 16 target_length 46
setcycle 16 correct_response z
setcycle 17 fp_length 1600
setcycle 17 fp_p 800
setcycle 17 sequence 816
setcycle 17 gap_orientation right
setcycle 17 target_length 14
setcycle 17 correct_response "/"
setcycle 18 fp_length 1600
setcycle 18 fp_p 1600
setcycle 18 sequence 1616
setcycle 18 gap_orientation left
setcycle 18 target_length 46
setcycle 18 correct_response z
setcycle 19 fp_length 1200
setcycle 19 fp_p 1600
setcycle 19 sequence 1612
setcycle 19 gap_orientation left
setcycle 19 target_length 30
setcycle 19 correct_response z
setcycle 20 fp_length 1600
setcycle 20 fp_p 1200
setcycle 20 sequence 1216
setcycle 20 gap_orientation right
setcycle 20 target_length 46
setcycle 20 correct_response "/"
setcycle 21 fp_length 400
setcycle 21 fp_p 1600
setcycle 21 sequence 164
setcycle 21 gap_orientation left
setcycle 21 target_length 14
setcycle 21 correct_response z
setcycle 22 fp_length 1600
setcycle 22 fp_p 400
setcycle 22 sequence 416
setcycle 22 gap_orientation right
setcycle 22 target_length 46
setcycle 22 correct_response "/"
setcycle 23 fp_length 800
setcycle 23 fp_p 1600
setcycle 23 sequence 168
setcycle 23 gap_orientation left
setcycle 23 target_length 14
setcycle 23 correct_response z
setcycle 24 fp_length 1200
setcycle 24 fp_p 800
setcycle 24 sequence 812
setcycle 24 gap_orientation right
setcycle 24 target_length 30
setcycle 24 correct_response "/"
setcycle 25 fp_length 1200
setcycle 25 fp_p 1200
setcycle 25 sequence 1212
setcycle 25 gap_orientation left
setcycle 25 target_length 30
setcycle 25 correct_response z
setcycle 26 fp_length 400
setcycle 26 fp_p 1200
setcycle 26 sequence 124
setcycle 26 gap_orientation left
setcycle 26 target_length 30
setcycle 26 correct_response z
setcycle 27 fp_length 1200
setcycle 27 fp_p 400
setcycle 27 sequence 412
setcycle 27 gap_orientation right
setcycle 27 target_length 46
setcycle 27 correct_response "/"
setcycle 28 fp_length 800
setcycle 28 fp_p 1200
setcycle 28 sequence 128
setcycle 28 gap_orientation left
setcycle 28 target_length 30
setcycle 28 correct_response z
setcycle 29 fp_length 400
setcycle 29 fp_p 800
setcycle 29 sequence 84
setcycle 29 gap_orientation right
setcycle 29 target_length 14
setcycle 29 correct_response "/"
setcycle 30 fp_length 400
setcycle 30 fp_p 400
setcycle 30 sequence 44
setcycle 30 gap_orientation left
setcycle 30 target_length 46
setcycle 30 correct_response z
setcycle 31 fp_length 800
setcycle 31 fp_p 400
setcycle 31 sequence 48
setcycle 31 gap_orientation left
setcycle 31 target_length 14
setcycle 31 correct_response z
setcycle 32 fp_length 800
setcycle 32 fp_p 800
setcycle 32 sequence 88
setcycle 32 gap_orientation left
setcycle 32 target_length 46
setcycle 32 correct_response z
setcycle 33 fp_length 400
setcycle 33 fp_p 800
setcycle 33 sequence 84
setcycle 33 gap_orientation right
setcycle 33 target_length 46
setcycle 33 correct_response "/"
setcycle 34 fp_length 400
setcycle 34 fp_p 400
setcycle 34 sequence 44
setcycle 34 gap_orientation left
setcycle 34 target_length 30
setcycle 34 correct_response z
setcycle 35 fp_length 1200
setcycle 35 fp_p 400
setcycle 35 sequence 412
setcycle 35 gap_orientation right
setcycle 35 target_length 46
setcycle 35 correct_response "/"
setcycle 36 fp_length 400
setcycle 36 fp_p 1200
setcycle 36 sequence 124
setcycle 36 gap_orientation left
setcycle 36 target_length 46
setcycle 36 correct_response z
setcycle 37 fp_length 1600
setcycle 37 fp_p 400
setcycle 37 sequence 416
setcycle 37 gap_orientation right
setcycle 37 target_length 30
setcycle 37 correct_response "/"
setcycle 38 fp_length 400
setcycle 38 fp_p 1600
setcycle 38 sequence 164
setcycle 38 gap_orientation right
setcycle 38 target_length 30
setcycle 38 correct_response "/"
setcycle 39 fp_length 800
setcycle 39 fp_p 400
setcycle 39 sequence 48
setcycle 39 gap_orientation right
setcycle 39 target_length 46
setcycle 39 correct_response "/"
setcycle 40 fp_length 1200
setcycle 40 fp_p 800
setcycle 40 sequence 812
setcycle 40 gap_orientation left
setcycle 40 target_length 14
setcycle 40 correct_response z
setcycle 41 fp_length 1200
setcycle 41 fp_p 1200
setcycle 41 sequence 1212
setcycle 41 gap_orientation right
setcycle 41 target_length 30
setcycle 41 correct_response "/"
setcycle 42 fp_length 1600
setcycle 42 fp_p 1200
setcycle 42 sequence 1216
setcycle 42 gap_orientation left
setcycle 42 target_length 14
setcycle 42 correct_response z
setcycle 43 fp_length 1200
setcycle 43 fp_p 1600
setcycle 43 sequence 1612
setcycle 43 gap_orientation left
setcycle 43 target_length 14
setcycle 43 correct_response z
setcycle 44 fp_length 800
setcycle 44 fp_p 1200
setcycle 44 sequence 128
setcycle 44 gap_orientation left
setcycle 44 target_length 30
setcycle 44 correct_response z
setcycle 45 fp_length 1600
setcycle 45 fp_p 800
setcycle 45 sequence 816
setcycle 45 gap_orientation left
setcycle 45 target_length 14
setcycle 45 correct_response z
setcycle 46 fp_length 1600
setcycle 46 fp_p 1600
setcycle 46 sequence 1616
setcycle 46 gap_orientation right
setcycle 46 target_length 46
setcycle 46 correct_response "/"
setcycle 47 fp_length 800
setcycle 47 fp_p 1600
setcycle 47 sequence 168
setcycle 47 gap_orientation left
setcycle 47 target_length 46
setcycle 47 correct_response z
setcycle 48 fp_length 800
setcycle 48 fp_p 800
setcycle 48 sequence 88
setcycle 48 gap_orientation left
setcycle 48 target_length 14
setcycle 48 correct_response z
setcycle 49 fp_length 1600
setcycle 49 fp_p 800
setcycle 49 sequence 816
setcycle 49 gap_orientation right
setcycle 49 target_length 14
setcycle 49 correct_response "/"
setcycle 50 fp_length 1600
setcycle 50 fp_p 1600
setcycle 50 sequence 1616
setcycle 50 gap_orientation right
setcycle 50 target_length 46
setcycle 50 correct_response "/"
setcycle 51 fp_length 1200
setcycle 51 fp_p 1600
setcycle 51 sequence 1612
setcycle 51 gap_orientation right
setcycle 51 target_length 30
setcycle 51 correct_response "/"
setcycle 52 fp_length 1600
setcycle 52 fp_p 1200
setcycle 52 sequence 1216
setcycle 52 gap_orientation right
setcycle 52 target_length 30
setcycle 52 correct_response "/"
setcycle 53 fp_length 400
setcycle 53 fp_p 1600
setcycle 53 sequence 164
setcycle 53 gap_orientation right
setcycle 53 target_length 14
setcycle 53 correct_response "/"
setcycle 54 fp_length 1600
setcycle 54 fp_p 400
setcycle 54 sequence 416
setcycle 54 gap_orientation right
setcycle 54 target_length 46
setcycle 54 correct_response "/"
setcycle 55 fp_length 800
setcycle 55 fp_p 1600
setcycle 55 sequence 168
setcycle 55 gap_orientation right
setcycle 55 target_length 14
setcycle 55 correct_response "/"
setcycle 56 fp_length 1200
setcycle 56 fp_p 800
setcycle 56 sequence 812
setcycle 56 gap_orientation right
setcycle 56 target_length 46
setcycle 56 correct_response "/"
setcycle 57 fp_length 1200
setcycle 57 fp_p 1200
setcycle 57 sequence 1212
setcycle 57 gap_orientation left
setcycle 57 target_length 14
setcycle 57 correct_response z
setcycle 58 fp_length 400
setcycle 58 fp_p 1200
setcycle 58 sequence 124
setcycle 58 gap_orientation left
setcycle 58 target_length 46
setcycle 58 correct_response z
setcycle 59 fp_length 1200
setcycle 59 fp_p 400
setcycle 59 sequence 412
setcycle 59 gap_orientation right
setcycle 59 target_length 46
setcycle 59 correct_response "/"
setcycle 60 fp_length 800
setcycle 60 fp_p 1200
setcycle 60 sequence 128
setcycle 60 gap_orientation left
setcycle 60 target_length 46
setcycle 60 correct_response z
setcycle 61 fp_length 400
setcycle 61 fp_p 800
setcycle 61 sequence 84
setcycle 61 gap_orientation left
setcycle 61 target_length 30
setcycle 61 correct_response z
setcycle 62 fp_length 400
setcycle 62 fp_p 400
setcycle 62 sequence 44
setcycle 62 gap_orientation right
setcycle 62 target_length 14
setcycle 62 correct_response "/"
setcycle 63 fp_length 800
setcycle 63 fp_p 400
setcycle 63 sequence 48
setcycle 63 gap_orientation left
setcycle 63 target_length 30
setcycle 63 correct_response z
setcycle 64 fp_length 800
setcycle 64 fp_p 800
setcycle 64 sequence 88
setcycle 64 gap_orientation right
setcycle 64 target_length 30
setcycle 64 correct_response "/"
setcycle 65 fp_length 1200
setcycle 65 fp_p 800
setcycle 65 sequence 812
setcycle 65 gap_orientation right
setcycle 65 target_length 30
setcycle 65 correct_response "/"
setcycle 66 fp_length 1200
setcycle 66 fp_p 1200
setcycle 66 sequence 1212
setcycle 66 gap_orientation left
setcycle 66 target_length 46
setcycle 66 correct_response z
setcycle 67 fp_length 400
setcycle 67 fp_p 1200
setcycle 67 sequence 124
setcycle 67 gap_orientation right
setcycle 67 target_length 30
setcycle 67 correct_response "/"
setcycle 68 fp_length 1200
setcycle 68 fp_p 400
setcycle 68 sequence 412
setcycle 68 gap_orientation left
setcycle 68 target_length 46
setcycle 68 correct_response z
setcycle 69 fp_length 1600
setcycle 69 fp_p 1200
setcycle 69 sequence 1216
setcycle 69 gap_orientation left
setcycle 69 target_length 46
setcycle 69 correct_response z
setcycle 70 fp_length 1200
setcycle 70 fp_p 1600
setcycle 70 sequence 1612
setcycle 70 gap_orientation left
setcycle 70 target_length 14
setcycle 70 correct_response z
setcycle 71 fp_length 800
setcycle 71 fp_p 1200
setcycle 71 sequence 128
setcycle 71 gap_orientation left
setcycle 71 target_length 46
setcycle 71 correct_response z
setcycle 72 fp_length 400
setcycle 72 fp_p 800
setcycle 72 sequence 84
setcycle 72 gap_orientation left
setcycle 72 target_length 30
setcycle 72 correct_response z
setcycle 73 fp_length 400
setcycle 73 fp_p 400
setcycle 73 sequence 44
setcycle 73 gap_orientation right
setcycle 73 target_length 46
setcycle 73 correct_response "/"
setcycle 74 fp_length 1600
setcycle 74 fp_p 400
setcycle 74 sequence 416
setcycle 74 gap_orientation left
setcycle 74 target_length 30
setcycle 74 correct_response z
setcycle 75 fp_length 400
setcycle 75 fp_p 1600
setcycle 75 sequence 164
setcycle 75 gap_orientation right
setcycle 75 target_length 14
setcycle 75 correct_response "/"
setcycle 76 fp_length 800
setcycle 76 fp_p 400
setcycle 76 sequence 48
setcycle 76 gap_orientation right
setcycle 76 target_length 46
setcycle 76 correct_response "/"
setcycle 77 fp_length 1600
setcycle 77 fp_p 800
setcycle 77 sequence 816
setcycle 77 gap_orientation right
setcycle 77 target_length 14
setcycle 77 correct_response "/"
setcycle 78 fp_length 1600
setcycle 78 fp_p 1600
setcycle 78 sequence 1616
setcycle 78 gap_orientation right
setcycle 78 target_length 30
setcycle 78 correct_response "/"
setcycle 79 fp_length 800
setcycle 79 fp_p 1600
setcycle 79 sequence 168
setcycle 79 gap_orientation left
setcycle 79 target_length 14
setcycle 79 correct_response z
setcycle 80 fp_length 800
setcycle 80 fp_p 800
setcycle 80 sequence 88
setcycle 80 gap_orientation left
setcycle 80 target_length 30
setcycle 80 correct_response z
setcycle 81 fp_length 1200
setcycle 81 fp_p 800
setcycle 81 sequence 812
setcycle 81 gap_orientation right
setcycle 81 target_length 14
setcycle 81 correct_response "/"
setcycle 82 fp_length 1200
setcycle 82 fp_p 1200
setcycle 82 sequence 1212
setcycle 82 gap_orientation left
setcycle 82 target_length 46
setcycle 82 correct_response z
setcycle 83 fp_length 1600
setcycle 83 fp_p 1200
setcycle 83 sequence 1216
setcycle 83 gap_orientation left
setcycle 83 target_length 30
setcycle 83 correct_response z
setcycle 84 fp_length 1200
setcycle 84 fp_p 1600
setcycle 84 sequence 1612
setcycle 84 gap_orientation left
setcycle 84 target_length 14
setcycle 84 correct_response z
setcycle 85 fp_length 400
setcycle 85 fp_p 1200
setcycle 85 sequence 124
setcycle 85 gap_orientation left
setcycle 85 target_length 14
setcycle 85 correct_response z
setcycle 86 fp_length 1200
setcycle 86 fp_p 400
setcycle 86 sequence 412
setcycle 86 gap_orientation right
setcycle 86 target_length 14
setcycle 86 correct_response "/"
setcycle 87 fp_length 800
setcycle 87 fp_p 1200
setcycle 87 sequence 128
setcycle 87 gap_orientation right
setcycle 87 target_length 30
setcycle 87 correct_response "/"
setcycle 88 fp_length 1600
setcycle 88 fp_p 800
setcycle 88 sequence 816
setcycle 88 gap_orientation left
setcycle 88 target_length 14
setcycle 88 correct_response z
setcycle 89 fp_length 1600
setcycle 89 fp_p 1600
setcycle 89 sequence 1616
setcycle 89 gap_orientation left
setcycle 89 target_length 46
setcycle 89 correct_response z
setcycle 90 fp_length 400
setcycle 90 fp_p 1600
setcycle 90 sequence 164
setcycle 90 gap_orientation right
setcycle 90 target_length 46
setcycle 90 correct_response "/"
setcycle 91 fp_length 1600
setcycle 91 fp_p 400
setcycle 91 sequence 416
setcycle 91 gap_orientation right
setcycle 91 target_length 14
setcycle 91 correct_response "/"
setcycle 92 fp_length 800
setcycle 92 fp_p 1600
setcycle 92 sequence 168
setcycle 92 gap_orientation left
setcycle 92 target_length 46
setcycle 92 correct_response z
setcycle 93 fp_length 400
setcycle 93 fp_p 800
setcycle 93 sequence 84
setcycle 93 gap_orientation right
setcycle 93 target_length 30
setcycle 93 correct_response "/"
setcycle 94 fp_length 400
setcycle 94 fp_p 400
setcycle 94 sequence 44
setcycle 94 gap_orientation left
setcycle 94 target_length 30
setcycle 94 correct_response z
setcycle 95 fp_length 800
setcycle 95 fp_p 400
setcycle 95 sequence 48
setcycle 95 gap_orientation right
setcycle 95 target_length 30
setcycle 95 correct_response "/"
setcycle 96 fp_length 800
setcycle 96 fp_p 800
setcycle 96 sequence 88
setcycle 96 gap_orientation right
setcycle 96 target_length 30
setcycle 96 correct_response "/"
setcycle 97 fp_length 1200
setcycle 97 fp_p 800
setcycle 97 sequence 812
setcycle 97 gap_orientation left
setcycle 97 target_length 46
setcycle 97 correct_response z
setcycle 98 fp_length 1200
setcycle 98 fp_p 1200
setcycle 98 sequence 1212
setcycle 98 gap_orientation left
setcycle 98 target_length 30
setcycle 98 correct_response z
setcycle 99 fp_length 400
setcycle 99 fp_p 1200
setcycle 99 sequence 124
setcycle 99 gap_orientation left
setcycle 99 target_length 46
setcycle 99 correct_response z
setcycle 100 fp_length 1200
setcycle 100 fp_p 400
setcycle 100 sequence 412
setcycle 100 gap_orientation left
setcycle 100 target_length 46
setcycle 100 correct_response z
setcycle 101 fp_length 1600
setcycle 101 fp_p 1200
setcycle 101 sequence 1216
setcycle 101 gap_orientation left
setcycle 101 target_length 14
setcycle 101 correct_response z
setcycle 102 fp_length 1200
setcycle 102 fp_p 1600
setcycle 102 sequence 1612
setcycle 102 gap_orientation right
setcycle 102 target_length 14
setcycle 102 correct_response "/"
setcycle 103 fp_length 800
setcycle 103 fp_p 1200
setcycle 103 sequence 128
setcycle 103 gap_orientation right
setcycle 103 target_length 46
setcycle 103 correct_response "/"
setcycle 104 fp_length 400
setcycle 104 fp_p 800
setcycle 104 sequence 84
setcycle 104 gap_orientation right
setcycle 104 target_length 14
setcycle 104 correct_response "/"
setcycle 105 fp_length 400
setcycle 105 fp_p 400
setcycle 105 sequence 44
setcycle 105 gap_orientation left
setcycle 105 target_length 30
setcycle 105 correct_response z
setcycle 106 fp_length 1600
setcycle 106 fp_p 400
setcycle 106 sequence 416
setcycle 106 gap_orientation right
setcycle 106 target_length 14
setcycle 106 correct_response "/"
setcycle 107 fp_length 400
setcycle 107 fp_p 1600
setcycle 107 sequence 164
setcycle 107 gap_orientation right
setcycle 107 target_length 30
setcycle 107 correct_response "/"
setcycle 108 fp_length 800
setcycle 108 fp_p 400
setcycle 108 sequence 48
setcycle 108 gap_orientation right
setcycle 108 target_length 46
setcycle 108 correct_response "/"
setcycle 109 fp_length 1600
setcycle 109 fp_p 800
setcycle 109 sequence 816
setcycle 109 gap_orientation left
setcycle 109 target_length 30
setcycle 109 correct_response z
setcycle 110 fp_length 1600
setcycle 110 fp_p 1600
setcycle 110 sequence 1616
setcycle 110 gap_orientation left
setcycle 110 target_length 46
setcycle 110 correct_response z
setcycle 111 fp_length 800
setcycle 111 fp_p 1600
setcycle 111 sequence 168
setcycle 111 gap_orientation right
setcycle 111 target_length 14
setcycle 111 correct_response "/"
setcycle 112 fp_length 800
setcycle 112 fp_p 800
setcycle 112 sequence 88
setcycle 112 gap_orientation right
setcycle 112 target_length 30
setcycle 112 correct_response "/"
setcycle 113 fp_length 1200
setcycle 113 fp_p 800
setcycle 113 sequence 812
setcycle 113 gap_orientation right
setcycle 113 target_length 14
setcycle 113 correct_response "/"
setcycle 114 fp_length 1200
setcycle 114 fp_p 1200
setcycle 114 sequence 1212
setcycle 114 gap_orientation right
setcycle 114 target_length 30
setcycle 114 correct_response "/"
setcycle 115 fp_length 1600
setcycle 115 fp_p 1200
setcycle 115 sequence 1216
setcycle 115 gap_orientation left
setcycle 115 target_length 14
setcycle 115 correct_response z
setcycle 116 fp_length 1200
setcycle 116 fp_p 1600
setcycle 116 sequence 1612
setcycle 116 gap_orientation left
setcycle 116 target_length 30
setcycle 116 correct_response z
setcycle 117 fp_length 400
setcycle 117 fp_p 1200
setcycle 117 sequence 124
setcycle 117 gap_orientation left
setcycle 117 target_length 14
setcycle 117 correct_response z
setcycle 118 fp_length 1200
setcycle 118 fp_p 400
setcycle 118 sequence 412
setcycle 118 gap_orientation right
setcycle 118 target_length 14
setcycle 118 correct_response "/"
setcycle 119 fp_length 800
setcycle 119 fp_p 1200
setcycle 119 sequence 128
setcycle 119 gap_orientation right
setcycle 119 target_length 14
setcycle 119 correct_response "/"
setcycle 120 fp_length 1600
setcycle 120 fp_p 800
setcycle 120 sequence 816
setcycle 120 gap_orientation left
setcycle 120 target_length 30
setcycle 120 correct_response z
setcycle 121 fp_length 1600
setcycle 121 fp_p 1600
setcycle 121 sequence 1616
setcycle 121 gap_orientation right
setcycle 121 target_length 30
setcycle 121 correct_response "/"
setcycle 122 fp_length 400
setcycle 122 fp_p 1600
setcycle 122 sequence 164
setcycle 122 gap_orientation right
setcycle 122 target_length 30
setcycle 122 correct_response "/"
setcycle 123 fp_length 1600
setcycle 123 fp_p 400
setcycle 123 sequence 416
setcycle 123 gap_orientation left
setcycle 123 target_length 14
setcycle 123 correct_response z
setcycle 124 fp_length 800
setcycle 124 fp_p 1600
setcycle 124 sequence 168
setcycle 124 gap_orientation right
setcycle 124 target_length 46
setcycle 124 correct_response "/"
setcycle 125 fp_length 400
setcycle 125 fp_p 800
setcycle 125 sequence 84
setcycle 125 gap_orientation right
setcycle 125 target_length 46
setcycle 125 correct_response "/"
setcycle 126 fp_length 400
setcycle 126 fp_p 400
setcycle 126 sequence 44
setcycle 126 gap_orientation left
setcycle 126 target_length 14
setcycle 126 correct_response z
setcycle 127 fp_length 800
setcycle 127 fp_p 400
setcycle 127 sequence 48
setcycle 127 gap_orientation right
setcycle 127 target_length 46
setcycle 127 correct_response "/"
run trial_sequence_1
define sequence block_sequence
set flush_keyboard yes
set description "A sequence containing a single block of trials followed by feedback to the participant"
run reset_feedback always
run block_loop always
run feedback always
define sequence block_sequence_1
set flush_keyboard yes
set description "A sequence containing a single block of trials followed by feedback to the participant"
run reset_feedback_1 always
run block_loop_1 always
run feedback always
define inline_script draw_stimuli
set description "Executes Python code"
___run__
#show stimuli
var.fix = fix_cnvs.show() # show the fixdot, get the timestamp of the fixdot
clock.sleep(fp_length) #400/800/1200/1600 ms
var.target = target_cnvs.show() # show target, get the timestamp of the target
clock.sleep(target_length) # 16/32/48ms
var.mask = mask_cnvs.show() #show mask, get the timestamp of the mask
#collect the actual presentation time
var.fp = var.target - var.fix
var.stimuli = var.mask - var.target
# wait for the response
my_keyboard.flush()
key, end_time = my_keyboard.get_key()
var.response = key
if var.response == var.correct_response:
var.correct = 1
else:
var.correct = 0
var.total_correct += var.correct
var.acc = float(var.total_correct)/(var.live_row +1)*100
var.response_time = end_time - var.mask
var.total_response_time += var.response_time
var.avg_rt = float(var.total_response_time)/(var.live_row + 1)
interval_cnvs.show() #show the interval
var.sleep(600)
__end__
___prepare__
# import modules
from math import pi,atan
#define function
def calculatePixle(myCanvas): #calculate the pixles within 1 degree
cx = myCanvas.width/2 #get the pixles of width
deg2pix = cx/(atan(47.38/144)*180/pi) # visual angle and pixls change if need, distance and screen size
return deg2pix
#creat canvases
fix_cnvs = canvas()
target_cnvs = canvas()
mask_cnvs = canvas()
interval_cnvs = canvas()
# initiate the keyboard
my_keyboard = Keyboard(keylist=['z','/'], timeout = None)
# get relevant variables for upcoming trial
gap_orientation = var.gap_orientation
fp_length = var.fp_length
target_length = var.target_length
# calculate the radius of the fixdot
r = int(0.06 * calculatePixle(fix_cnvs))
#calculate the position of the rectangle, the target
x1 = int(0-0.575 * calculatePixle(target_cnvs))
y1 = int(0-0.575*calculatePixle(target_cnvs))
w1 = int(1.15*calculatePixle(target_cnvs))
h1 = w1
#calculate the position of the left small rectangle
x2 = int(0-0.635* calculatePixle(target_cnvs))
y2 = int(0-0.06*calculatePixle(target_cnvs))
w2 = int(0.12*calculatePixle(target_cnvs))
h2 = w2
#calculate the position of the right small rectangle
x3 = int(0.515* calculatePixle(target_cnvs))
y3 = y2
w3 = w2
h3 = h2
# calculate the size of the mask
size_mask = int(1.26*calculatePixle(mask_cnvs))
#draw stimuli
#draw fixdot
fix_cnvs.circle(0,0,r,fill=True)
#draw rectangle, the target
target_cnvs.rect(x1,y1,w1,h1)
#draw small gap on the target canvas
if gap_orientation == 'left':
target_cnvs.rect(x2,y2,w2,h2,fill = True,color = 'black')
else:
target_cnvs.rect(x3,y3,w3,h3,fill = True,color = 'black')
#draw mask
mask_cnvs.noise_patch(0,0,size= size_mask,env='rectangular')
__end__
define sketchpad end_of_experiment
set start_response_interval no
set duration keypress
set description "A sketchpad notifying the participant that the experiment is finished"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="This is the end of the experiment!" x=0 y=-96 z_index=0
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Press any key to exit." x=0 y=0 z_index=0
define sketchpad end_practice
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="This is the end of the pratice!
Press any key to start the formal experiment!" x=0 y=0 z_index=0
define sequence experiment
set flush_keyboard yes
set description "The main sequence of the experiment"
run instruction always
run practice_loop always
run end_practice always
run experimental_loop always
run end_of_experiment always
define loop experimental_loop
set source_file ""
set source table
set skip 0
set repeat 4
set order random
set offset no
set item block_sequence
set description "A loop containing one or more experimental blocks"
set cycles 1
set continuous no
set column_order practice
set break_if_on_first yes
set break_if never
setcycle 0 practice no
run block_sequence_1
define feedback feedback
set reset_variables yes
set duration keypress
set description "Provides feedback to the participant"
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Your average response time was [avg_rt]ms
Your accuracy was [acc]%
Press any key to continue" x=0 y=0 z_index=0
define sketchpad instruction
set duration keypress
set description "Displays stimuli"
draw textline center=0 color=white font_bold=no font_family=mono font_italic=no font_size=26 html=yes show_if=always text="Welcome to this experiment!" x=-192 y=-288 z_index=0
draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=25 html=yes show_if=always text="
Press any key to start practice!
" x=32 y=288 z_index=0
draw textline center=0 color=white font_bold=no font_family=hebrew font_italic=no font_size=24 html=yes show_if=always text="1. In this experiment, each trial starts with a fixation dot.
2. After a time of period, the target—a white square appears, with a gap either on the left or on the right side.
3. The square is subsequently replaced by a mask.
4. Your task is to judge the orientation of the small gap.
5. If the gap is on the left side, please press key ‘’Z ‘’; if the gap is on the right side, please press key ‘’/’’.
6. You should respond as accurate as possible! " x=-512 y=-160 z_index=0
define logger logger_1
set description "Logs experimental data"
set auto_log yes
define loop practice_loop
set source_file ""
set source table
set skip 0
set repeat 1
set order random
set offset no
set item block_sequence
set description "A loop containing one or more practice blocks"
set cycles 1
set continuous no
set column_order practice
set break_if_on_first yes
set break_if never
setcycle 0 practice yes
run block_sequence
define reset_feedback reset_feedback
set description "Resets the feedback variables, such as 'avg_rt' and 'acc'"
define reset_feedback reset_feedback_1
set description "Resets the feedback variables, such as 'avg_rt' and 'acc'"
define sequence trial_sequence
set flush_keyboard yes
set description "A single trial"
run draw_stimuli always
run logger_1 always
define sequence trial_sequence_1
set flush_keyboard yes
set description "A single trial"
run draw_stimuli always
run logger_1 always