Advertisement
LeeB_86

VS1234

Nov 9th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 70.71 KB | None | 0 0
  1. # Generated by OpenSesame 0.27.4 (Frisky Freud)
  2. # Sat Nov 09 11:28:04 2013 (nt)
  3. # <http://www.cogsci.nl/opensesame>
  4.  
  5. set mouse_backend "xpyriment"
  6. set subject_parity "even"
  7. set height "768"
  8. set font_family "sans"
  9. set font_italic "no"
  10. set custom_cursor "yes"
  11. set synth_backend "legacy"
  12. set title "visuospatial_1234"
  13. set coordinates "relative"
  14. set start "experiment"
  15. set sampler_backend "legacy"
  16. set transparent_variables "no"
  17. set foreground "Black"
  18. set font_bold "no"
  19. set description "Default description"
  20. set background "White"
  21. set font_size "20"
  22. set enable_escape "yes"
  23. set keyboard_backend "legacy"
  24. set canvas_backend "xpyriment"
  25. set compensation "0"
  26. set subject_nr "0"
  27. set width "1024"
  28.  
  29. define loop s3_block_loop
  30.     set repeat "1"
  31.     set description "Repeatedly runs another item"
  32.     set skip "0"
  33.     set item "s3_trial_sequence"
  34.     set column_order "match;frame_colour;pair_colour;line_style;correct_response"
  35.     set cycles "50"
  36.     set order "sequential"
  37.     setcycle 0 pair_colour "Black"
  38.     setcycle 0 correct_response ""
  39.     setcycle 0 frame_colour "Black"
  40.     setcycle 0 line_style ""
  41.     setcycle 0 match "n"
  42.     setcycle 1 pair_colour "Black"
  43.     setcycle 1 correct_response ""
  44.     setcycle 1 frame_colour "Black"
  45.     setcycle 1 line_style ""
  46.     setcycle 1 match "y"
  47.     setcycle 2 pair_colour "Black"
  48.     setcycle 2 correct_response ""
  49.     setcycle 2 frame_colour "Black"
  50.     setcycle 2 line_style ""
  51.     setcycle 2 match "y"
  52.     setcycle 3 pair_colour "Black"
  53.     setcycle 3 correct_response ""
  54.     setcycle 3 frame_colour "Black"
  55.     setcycle 3 line_style ""
  56.     setcycle 3 match "n"
  57.     setcycle 4 pair_colour "Red"
  58.     setcycle 4 correct_response "2"
  59.     setcycle 4 frame_colour "Black"
  60.     setcycle 4 line_style ""
  61.     setcycle 4 match "n"
  62.     setcycle 5 pair_colour "Black"
  63.     setcycle 5 correct_response ""
  64.     setcycle 5 frame_colour "Black"
  65.     setcycle 5 line_style ""
  66.     setcycle 5 match "y"
  67.     setcycle 6 pair_colour "Black"
  68.     setcycle 6 correct_response ""
  69.     setcycle 6 frame_colour "Black"
  70.     setcycle 6 line_style ""
  71.     setcycle 6 match "n"
  72.     setcycle 7 pair_colour "Black"
  73.     setcycle 7 correct_response ""
  74.     setcycle 7 frame_colour "Black"
  75.     setcycle 7 line_style ""
  76.     setcycle 7 match "y"
  77.     setcycle 8 pair_colour "Black"
  78.     setcycle 8 correct_response ""
  79.     setcycle 8 frame_colour "Black"
  80.     setcycle 8 line_style ""
  81.     setcycle 8 match "y"
  82.     setcycle 9 pair_colour "Black"
  83.     setcycle 9 correct_response "3"
  84.     setcycle 9 frame_colour "Black"
  85.     setcycle 9 line_style "dash"
  86.     setcycle 9 match "n"
  87.     setcycle 10 pair_colour "Black"
  88.     setcycle 10 correct_response ""
  89.     setcycle 10 frame_colour "Black"
  90.     setcycle 10 line_style ""
  91.     setcycle 10 match "y"
  92.     setcycle 11 pair_colour "Black"
  93.     setcycle 11 correct_response ""
  94.     setcycle 11 frame_colour "Black"
  95.     setcycle 11 line_style ""
  96.     setcycle 11 match "n"
  97.     setcycle 12 pair_colour "Black"
  98.     setcycle 12 correct_response ""
  99.     setcycle 12 frame_colour "Black"
  100.     setcycle 12 line_style ""
  101.     setcycle 12 match "n"
  102.     setcycle 13 pair_colour "Black"
  103.     setcycle 13 correct_response ""
  104.     setcycle 13 frame_colour "Black"
  105.     setcycle 13 line_style ""
  106.     setcycle 13 match "y"
  107.     setcycle 14 pair_colour "Black"
  108.     setcycle 14 correct_response ""
  109.     setcycle 14 frame_colour "Black"
  110.     setcycle 14 line_style ""
  111.     setcycle 14 match "n"
  112.     setcycle 15 pair_colour "Black"
  113.     setcycle 15 correct_response ""
  114.     setcycle 15 frame_colour "Black"
  115.     setcycle 15 line_style ""
  116.     setcycle 15 match "y"
  117.     setcycle 16 pair_colour "Black"
  118.     setcycle 16 correct_response ""
  119.     setcycle 16 frame_colour "Black"
  120.     setcycle 16 line_style ""
  121.     setcycle 16 match "n"
  122.     setcycle 17 pair_colour "Black"
  123.     setcycle 17 correct_response ""
  124.     setcycle 17 frame_colour "Black"
  125.     setcycle 17 line_style ""
  126.     setcycle 17 match "n"
  127.     setcycle 18 pair_colour "Black"
  128.     setcycle 18 correct_response ""
  129.     setcycle 18 frame_colour "Black"
  130.     setcycle 18 line_style ""
  131.     setcycle 18 match "y"
  132.     setcycle 19 pair_colour "Black"
  133.     setcycle 19 correct_response ""
  134.     setcycle 19 frame_colour "Black"
  135.     setcycle 19 line_style ""
  136.     setcycle 19 match "y"
  137.     setcycle 20 pair_colour "Black"
  138.     setcycle 20 correct_response ""
  139.     setcycle 20 frame_colour "Black"
  140.     setcycle 20 line_style ""
  141.     setcycle 20 match "y"
  142.     setcycle 21 pair_colour "Black"
  143.     setcycle 21 correct_response ""
  144.     setcycle 21 frame_colour "Black"
  145.     setcycle 21 line_style ""
  146.     setcycle 21 match "y"
  147.     setcycle 22 pair_colour "Black"
  148.     setcycle 22 correct_response ""
  149.     setcycle 22 frame_colour "Black"
  150.     setcycle 22 line_style ""
  151.     setcycle 22 match "y"
  152.     setcycle 23 pair_colour "Black"
  153.     setcycle 23 correct_response ""
  154.     setcycle 23 frame_colour "Black"
  155.     setcycle 23 line_style ""
  156.     setcycle 23 match "y"
  157.     setcycle 24 pair_colour "Black"
  158.     setcycle 24 correct_response ""
  159.     setcycle 24 frame_colour "Black"
  160.     setcycle 24 line_style ""
  161.     setcycle 24 match "n"
  162.     setcycle 25 pair_colour "Black"
  163.     setcycle 25 correct_response ""
  164.     setcycle 25 frame_colour "Black"
  165.     setcycle 25 line_style ""
  166.     setcycle 25 match "n"
  167.     setcycle 26 pair_colour "Black"
  168.     setcycle 26 correct_response ""
  169.     setcycle 26 frame_colour "Black"
  170.     setcycle 26 line_style ""
  171.     setcycle 26 match "n"
  172.     setcycle 27 pair_colour "Black"
  173.     setcycle 27 correct_response ""
  174.     setcycle 27 frame_colour "Black"
  175.     setcycle 27 line_style ""
  176.     setcycle 27 match "y"
  177.     setcycle 28 pair_colour "Black"
  178.     setcycle 28 correct_response ""
  179.     setcycle 28 frame_colour "Black"
  180.     setcycle 28 line_style ""
  181.     setcycle 28 match "n"
  182.     setcycle 29 pair_colour "Black"
  183.     setcycle 29 correct_response "1"
  184.     setcycle 29 frame_colour "Orange"
  185.     setcycle 29 line_style ""
  186.     setcycle 29 match "y"
  187.     setcycle 30 pair_colour "Black"
  188.     setcycle 30 correct_response ""
  189.     setcycle 30 frame_colour "Black"
  190.     setcycle 30 line_style ""
  191.     setcycle 30 match "y"
  192.     setcycle 31 pair_colour "Black"
  193.     setcycle 31 correct_response ""
  194.     setcycle 31 frame_colour "Black"
  195.     setcycle 31 line_style ""
  196.     setcycle 31 match "n"
  197.     setcycle 32 pair_colour "Black"
  198.     setcycle 32 correct_response ""
  199.     setcycle 32 frame_colour "Black"
  200.     setcycle 32 line_style ""
  201.     setcycle 32 match "y"
  202.     setcycle 33 pair_colour "Black"
  203.     setcycle 33 correct_response ""
  204.     setcycle 33 frame_colour "Black"
  205.     setcycle 33 line_style ""
  206.     setcycle 33 match "n"
  207.     setcycle 34 pair_colour "Red"
  208.     setcycle 34 correct_response "2"
  209.     setcycle 34 frame_colour "Black"
  210.     setcycle 34 line_style ""
  211.     setcycle 34 match "n"
  212.     setcycle 35 pair_colour "Black"
  213.     setcycle 35 correct_response ""
  214.     setcycle 35 frame_colour "Black"
  215.     setcycle 35 line_style ""
  216.     setcycle 35 match "n"
  217.     setcycle 36 pair_colour "Black"
  218.     setcycle 36 correct_response ""
  219.     setcycle 36 frame_colour "Black"
  220.     setcycle 36 line_style ""
  221.     setcycle 36 match "y"
  222.     setcycle 37 pair_colour "Black"
  223.     setcycle 37 correct_response ""
  224.     setcycle 37 frame_colour "Black"
  225.     setcycle 37 line_style ""
  226.     setcycle 37 match "n"
  227.     setcycle 38 pair_colour "Black"
  228.     setcycle 38 correct_response ""
  229.     setcycle 38 frame_colour "Black"
  230.     setcycle 38 line_style ""
  231.     setcycle 38 match "y"
  232.     setcycle 39 pair_colour "Black"
  233.     setcycle 39 correct_response "3"
  234.     setcycle 39 frame_colour "Black"
  235.     setcycle 39 line_style "dash"
  236.     setcycle 39 match "y"
  237.     setcycle 40 pair_colour "Black"
  238.     setcycle 40 correct_response ""
  239.     setcycle 40 frame_colour "Black"
  240.     setcycle 40 line_style ""
  241.     setcycle 40 match "n"
  242.     setcycle 41 pair_colour "Black"
  243.     setcycle 41 correct_response ""
  244.     setcycle 41 frame_colour "Black"
  245.     setcycle 41 line_style ""
  246.     setcycle 41 match "y"
  247.     setcycle 42 pair_colour "Black"
  248.     setcycle 42 correct_response ""
  249.     setcycle 42 frame_colour "Black"
  250.     setcycle 42 line_style ""
  251.     setcycle 42 match "n"
  252.     setcycle 43 pair_colour "Black"
  253.     setcycle 43 correct_response ""
  254.     setcycle 43 frame_colour "Black"
  255.     setcycle 43 line_style ""
  256.     setcycle 43 match "y"
  257.     setcycle 44 pair_colour "Black"
  258.     setcycle 44 correct_response "1"
  259.     setcycle 44 frame_colour "Orange"
  260.     setcycle 44 line_style ""
  261.     setcycle 44 match "n"
  262.     setcycle 45 pair_colour "Black"
  263.     setcycle 45 correct_response ""
  264.     setcycle 45 frame_colour "Black"
  265.     setcycle 45 line_style ""
  266.     setcycle 45 match "n"
  267.     setcycle 46 pair_colour "Black"
  268.     setcycle 46 correct_response ""
  269.     setcycle 46 frame_colour "Black"
  270.     setcycle 46 line_style ""
  271.     setcycle 46 match "y"
  272.     setcycle 47 pair_colour "Black"
  273.     setcycle 47 correct_response ""
  274.     setcycle 47 frame_colour "Black"
  275.     setcycle 47 line_style ""
  276.     setcycle 47 match "y"
  277.     setcycle 48 pair_colour "Black"
  278.     setcycle 48 correct_response ""
  279.     setcycle 48 frame_colour "Black"
  280.     setcycle 48 line_style ""
  281.     setcycle 48 match "n"
  282.     setcycle 49 pair_colour "Black"
  283.     setcycle 49 correct_response ""
  284.     setcycle 49 frame_colour "Black"
  285.     setcycle 49 line_style ""
  286.     setcycle 49 match "n"
  287.     run s3_trial_sequence
  288.  
  289. define sequence s1_trial_sequence
  290.     set flush_keyboard "yes"
  291.     set description "Runs a number of items in sequence"
  292.     run s1_ongoing_script "always"
  293.     run s1_response_script "always"
  294.     run s1_keyboard_script "always"
  295.     run logger "always"
  296.  
  297. define inline_script s3_ongoing_script
  298.     ___run__
  299.     from openexp.canvas import canvas
  300.    
  301.     # Make sure that the stripes show when needed:
  302.     if exp.get('line_style') == 'dash':
  303.         stripes.show()
  304.     __end__
  305.     ___prepare__
  306.     # Create the image generating script.
  307.    
  308.     # Import random, numpy and canvas:
  309.     import random as rdm
  310.     import numpy as np
  311.     from openexp.canvas import canvas
  312.    
  313.     # Define canvas for trial display:
  314.     trial_display = canvas(exp)
  315.     global trial_display
  316.    
  317.     # Draw the stim-set frame:
  318.     trial_display.set_penwidth(3)
  319.     frame_colour = self.get('frame_colour')
  320.     trial_display.rect(32,224,960,320, fill=False, color=frame_colour)
  321.    
  322.     # Draw the cue 'line_style' stripes:
  323.     stripes = self.copy_sketchpad('stripes')
  324.     global stripes
  325.    
  326.     # Define a list of numerical values representing an 'n'-verticed image
  327.     n = [8,6,4,3]
  328.     # Then, a random value from 'n' is needed for every image to be presented:
  329.     #(code found in cogsci.nl thread http://forum.cogsci.nl/index.php?p=/
  330.     # discussion/325/solved-question-randomization-on-one-page-using-forms/p1)
  331.     rdm.shuffle(n) # Shuffle the list order
  332.     while len(n) > 0: # While the list is not empty
  333.         nss = n.pop() # 'Pop' the first item
  334.    
  335.     # A list of indices for points1 and points2. This is just a list
  336.     # from 0, 1, 2, 3, etc. up to the length of the list minus 1.
  337.     indices1 = range(len(points1))
  338.     indices2 = range(len(points2))
  339.    
  340.     # Randomly sample a number of indices. Here we select 'nss',
  341.     # so that polygons will have 'n-sides'.
  342.     # For image1:
  343.     image1_indices = rdm.sample(indices1, nss)
  344.     image2_indices = rdm.sample(indices2, nss)
  345.    
  346.     # Get variable 'match' from block_loop, shuffle and randomly sample:
  347.      
  348.     # Image 1:
  349.     image1 = np.array(points1)[image1_indices]
  350.     # Image 2 (matching):
  351.     image2 = np.array(points2)[image1_indices]
  352.     # Image 2 (non-matching):
  353.     image3 = np.array(points2)[image2_indices]
  354.    
  355.     # Determine matching/non-matching:
  356.     if self.get('match') == 'y':
  357.         tdp2 = image2
  358.     else:
  359.         tdp2 = image3
  360.    
  361.     # Send to polygon function:
  362.     pair_colour = self.get('pair_colour')
  363.     trial_display.polygon(image1, color=pair_colour)
  364.     trial_display.polygon(tdp2, color=pair_colour)
  365.    
  366.     # Show canvas:
  367.     trial_display.show()
  368.     __end__
  369.     set description "Executes Python code"
  370.  
  371. define sequence s4__sequence
  372.     set flush_keyboard "yes"
  373.     set description "Runs a number of items in sequence"
  374.     run s4_block_loop "always"
  375.  
  376. define sequence s4_trial_sequence
  377.     set flush_keyboard "yes"
  378.     set description "Runs a number of items in sequence"
  379.     run s4_ongoing_script "always"
  380.     run s4_response_script "always"
  381.     run s4_keyboard_script "always"
  382.     run logger "always"
  383.  
  384. define inline_script s2_ongoing_script
  385.     set _run ""
  386.     ___prepare__
  387.     # Create the image generating script.
  388.    
  389.     # Import random and canvas:
  390.     import random as rdm
  391.     import numpy as np
  392.     from openexp.canvas import canvas
  393.     trial_display = canvas(exp)
  394.    
  395.     # Draw the stim-set frame:
  396.     trial_display.set_penwidth(3)
  397.     frame_colour = self.get('frame_colour')
  398.     trial_display.rect(32,224,960,320, fill=False, color=frame_colour)
  399.    
  400.     # Define a list of numerical values representing an 'n'-verticed image
  401.     n = [8,6,4,3]
  402.     # Then, a random value from 'n' is needed for every image to be presented:
  403.     #(code found in cogsci.nl thread http://forum.cogsci.nl/index.php?p=/
  404.     # discussion/325/solved-question-randomization-on-one-page-using-forms/p1)
  405.     rdm.shuffle(n) # Shuffle the list order
  406.     while len(n) > 0: # While the list is not empty
  407.         nss = n.pop() # 'Pop' the first item
  408.    
  409.     # A list of indices for points1 and points2. This is just a list
  410.     # from 0, 1, 2, 3, etc. up to the length of the list minus 1.
  411.     indices1 = range(len(points1))
  412.     indices2 = range(len(points2))
  413.    
  414.     # Randomly sample a number of indices. Here we select 'nss',
  415.     # so that polygons will have 'n-sides'.
  416.     # For image1:
  417.     image1_indices = rdm.sample(indices1, nss)
  418.     image2_indices = rdm.sample(indices2, nss)
  419.    
  420.     # Get variable 'match' from block_loop, shuffle and randomly sample:
  421.      
  422.     # Image 1:
  423.     image1 = np.array(points1)[image1_indices]
  424.     # Image 2 (matching):
  425.     image2 = np.array(points2)[image1_indices]
  426.     # Image 2 (non-matching):
  427.     image3 = np.array(points2)[image2_indices]
  428.    
  429.     # Determine matching/non-matching:
  430.     if self.get('match') == 'y':
  431.         tdp2 = image2
  432.     else:
  433.         tdp2 = image3
  434.    
  435.     # Send to polygon function:
  436.     pair_colour = self.get('pair_colour')
  437.     trial_display.polygon(image1, color=pair_colour)
  438.     trial_display.polygon(tdp2, color=pair_colour)
  439.    
  440.     # Show canvas:
  441.     trial_display.show()
  442.     __end__
  443.     set description "Executes Python code"
  444.  
  445. define inline_script s4_ongoing_script
  446.     set _run ""
  447.     ___prepare__
  448.     # Create the image generating script.
  449.    
  450.     # Import random, numpy and canvas:
  451.     import random as rdm
  452.     import numpy as np
  453.     from openexp.canvas import canvas
  454.     trial_display = canvas(exp)
  455.    
  456.     # Draw the stim-set frame:
  457.     trial_display.set_penwidth(3)
  458.     frame_colour = self.get('frame_colour')
  459.     trial_display.rect(32,224,960,320, fill=False, color=frame_colour)
  460.    
  461.     # Define a list of numerical values representing an 'n'-verticed image
  462.     n = [8,6,4,3]
  463.     # Then, a random value from 'n' is needed for every image to be presented:
  464.     #(code found in cogsci.nl thread http://forum.cogsci.nl/index.php?p=/
  465.     # discussion/325/solved-question-randomization-on-one-page-using-forms/p1)
  466.     rdm.shuffle(n) # Shuffle the list order
  467.     while len(n) > 0: # While the list is not empty
  468.         nss = n.pop() # 'Pop' the first item
  469.    
  470.     # A list of indices for points1 and points2. This is just a list
  471.     # from 0, 1, 2, 3, etc. up to the length of the list minus 1.
  472.     indices1 = range(len(points1))
  473.     indices2 = range(len(points2))
  474.    
  475.     # Randomly sample a number of indices. Here we select 'nss',
  476.     # so that polygons will have 'n-sides'.
  477.     # For image1:
  478.     image1_indices = rdm.sample(indices1, nss)
  479.     image2_indices = rdm.sample(indices2, nss)
  480.    
  481.     # Image 1:
  482.     image1 = np.array(points1)[image1_indices]
  483.     # Image 2 (matching):
  484.     image2 = np.array(points2)[image1_indices]
  485.     # Image 2 (non-matching):
  486.     image3 = np.array(points2)[image2_indices]
  487.    
  488.     # Get variable 'match' from block_loop:
  489.     # Determine matching/non-matching:
  490.     if self.get('match') == 'y':
  491.         tdp2 = image2
  492.     else:
  493.         tdp2 = image3
  494.    
  495.     # Send to polygon function:
  496.     line_style = self.get('line_style')
  497.     line_width = self.get('line_width')
  498.     pair_colour = self.get('pair_colour')
  499.     trial_display.set_penwidth(line_width)
  500.     trial_display.polygon(image1, color=pair_colour)
  501.     trial_display.polygon(tdp2, color=pair_colour)
  502.    
  503.     # Show canvas:
  504.     trial_display.show()
  505.     __end__
  506.     set description "Executes Python code"
  507.  
  508. define loop p_block_loop
  509.     set repeat "1"
  510.     set description "Repeatedly runs another item"
  511.     set skip "0"
  512.     set item "p_trial_sequence"
  513.     set column_order "match"
  514.     set cycles "20"
  515.     set order "sequential"
  516.     setcycle 0 match "y"
  517.     setcycle 1 match "y"
  518.     setcycle 2 match "y"
  519.     setcycle 3 match "n"
  520.     setcycle 4 match "y"
  521.     setcycle 5 match "y"
  522.     setcycle 6 match "n"
  523.     setcycle 7 match "n"
  524.     setcycle 8 match "y"
  525.     setcycle 9 match "n"
  526.     setcycle 10 match "n"
  527.     setcycle 11 match "n"
  528.     setcycle 12 match "n"
  529.     setcycle 13 match "y"
  530.     setcycle 14 match "y"
  531.     setcycle 15 match "n"
  532.     setcycle 16 match "y"
  533.     setcycle 17 match "n"
  534.     setcycle 18 match "y"
  535.     setcycle 19 match "n"
  536.     run p_trial_sequence
  537.  
  538. define loop s1_block_loop
  539.     set repeat "1"
  540.     set description "Repeatedly runs another item"
  541.     set skip "0"
  542.     set item "s1_trial_sequence"
  543.     set column_order "match;frame_colour;correct_response"
  544.     set cycles "50"
  545.     set order "sequential"
  546.     setcycle 0 correct_response ""
  547.     setcycle 0 frame_colour "Black"
  548.     setcycle 0 match "y"
  549.     setcycle 1 correct_response ""
  550.     setcycle 1 frame_colour "Black"
  551.     setcycle 1 match "n"
  552.     setcycle 2 correct_response ""
  553.     setcycle 2 frame_colour "Black"
  554.     setcycle 2 match "y"
  555.     setcycle 3 correct_response ""
  556.     setcycle 3 frame_colour "Black"
  557.     setcycle 3 match "y"
  558.     setcycle 4 correct_response ""
  559.     setcycle 4 frame_colour "Black"
  560.     setcycle 4 match "y"
  561.     setcycle 5 correct_response ""
  562.     setcycle 5 frame_colour "Black"
  563.     setcycle 5 match "n"
  564.     setcycle 6 correct_response ""
  565.     setcycle 6 frame_colour "Black"
  566.     setcycle 6 match "n"
  567.     setcycle 7 correct_response ""
  568.     setcycle 7 frame_colour "Black"
  569.     setcycle 7 match "n"
  570.     setcycle 8 correct_response ""
  571.     setcycle 8 frame_colour "Black"
  572.     setcycle 8 match "n"
  573.     setcycle 9 correct_response ""
  574.     setcycle 9 frame_colour "Black"
  575.     setcycle 9 match "n"
  576.     setcycle 10 correct_response ""
  577.     setcycle 10 frame_colour "Black"
  578.     setcycle 10 match "y"
  579.     setcycle 11 correct_response ""
  580.     setcycle 11 frame_colour "Black"
  581.     setcycle 11 match "y"
  582.     setcycle 12 correct_response ""
  583.     setcycle 12 frame_colour "Black"
  584.     setcycle 12 match "n"
  585.     setcycle 13 correct_response ""
  586.     setcycle 13 frame_colour "Black"
  587.     setcycle 13 match "y"
  588.     setcycle 14 correct_response ""
  589.     setcycle 14 frame_colour "Black"
  590.     setcycle 14 match "n"
  591.     setcycle 15 correct_response ""
  592.     setcycle 15 frame_colour "Black"
  593.     setcycle 15 match "n"
  594.     setcycle 16 correct_response ""
  595.     setcycle 16 frame_colour "Black"
  596.     setcycle 16 match "y"
  597.     setcycle 17 correct_response ""
  598.     setcycle 17 frame_colour "Black"
  599.     setcycle 17 match "y"
  600.     setcycle 18 correct_response ""
  601.     setcycle 18 frame_colour "Black"
  602.     setcycle 18 match "y"
  603.     setcycle 19 correct_response "1"
  604.     setcycle 19 frame_colour "Green"
  605.     setcycle 19 match "n"
  606.     setcycle 20 correct_response ""
  607.     setcycle 20 frame_colour "Black"
  608.     setcycle 20 match "y"
  609.     setcycle 21 correct_response ""
  610.     setcycle 21 frame_colour "Black"
  611.     setcycle 21 match "n"
  612.     setcycle 22 correct_response ""
  613.     setcycle 22 frame_colour "Black"
  614.     setcycle 22 match "y"
  615.     setcycle 23 correct_response ""
  616.     setcycle 23 frame_colour "Black"
  617.     setcycle 23 match "y"
  618.     setcycle 24 correct_response ""
  619.     setcycle 24 frame_colour "Black"
  620.     setcycle 24 match "n"
  621.     setcycle 25 correct_response ""
  622.     setcycle 25 frame_colour "Black"
  623.     setcycle 25 match "n"
  624.     setcycle 26 correct_response ""
  625.     setcycle 26 frame_colour "Black"
  626.     setcycle 26 match "n"
  627.     setcycle 27 correct_response ""
  628.     setcycle 27 frame_colour "Black"
  629.     setcycle 27 match "n"
  630.     setcycle 28 correct_response ""
  631.     setcycle 28 frame_colour "Black"
  632.     setcycle 28 match "n"
  633.     setcycle 29 correct_response ""
  634.     setcycle 29 frame_colour "Black"
  635.     setcycle 29 match "y"
  636.     setcycle 30 correct_response ""
  637.     setcycle 30 frame_colour "Black"
  638.     setcycle 30 match "y"
  639.     setcycle 31 correct_response ""
  640.     setcycle 31 frame_colour "Black"
  641.     setcycle 31 match "n"
  642.     setcycle 32 correct_response ""
  643.     setcycle 32 frame_colour "Black"
  644.     setcycle 32 match "y"
  645.     setcycle 33 correct_response ""
  646.     setcycle 33 frame_colour "Black"
  647.     setcycle 33 match "n"
  648.     setcycle 34 correct_response ""
  649.     setcycle 34 frame_colour "Black"
  650.     setcycle 34 match "y"
  651.     setcycle 35 correct_response ""
  652.     setcycle 35 frame_colour "Black"
  653.     setcycle 35 match "y"
  654.     setcycle 36 correct_response ""
  655.     setcycle 36 frame_colour "Black"
  656.     setcycle 36 match "y"
  657.     setcycle 37 correct_response ""
  658.     setcycle 37 frame_colour "Black"
  659.     setcycle 37 match "n"
  660.     setcycle 38 correct_response ""
  661.     setcycle 38 frame_colour "Black"
  662.     setcycle 38 match "n"
  663.     setcycle 39 correct_response "1"
  664.     setcycle 39 frame_colour "Green"
  665.     setcycle 39 match "y"
  666.     setcycle 40 correct_response ""
  667.     setcycle 40 frame_colour "Black"
  668.     setcycle 40 match "n"
  669.     setcycle 41 correct_response ""
  670.     setcycle 41 frame_colour "Black"
  671.     setcycle 41 match "y"
  672.     setcycle 42 correct_response ""
  673.     setcycle 42 frame_colour "Black"
  674.     setcycle 42 match "y"
  675.     setcycle 43 correct_response ""
  676.     setcycle 43 frame_colour "Black"
  677.     setcycle 43 match "n"
  678.     setcycle 44 correct_response ""
  679.     setcycle 44 frame_colour "Black"
  680.     setcycle 44 match "y"
  681.     setcycle 45 correct_response ""
  682.     setcycle 45 frame_colour "Black"
  683.     setcycle 45 match "y"
  684.     setcycle 46 correct_response ""
  685.     setcycle 46 frame_colour "Black"
  686.     setcycle 46 match "y"
  687.     setcycle 47 correct_response ""
  688.     setcycle 47 frame_colour "Black"
  689.     setcycle 47 match "n"
  690.     setcycle 48 correct_response ""
  691.     setcycle 48 frame_colour "Black"
  692.     setcycle 48 match "n"
  693.     setcycle 49 correct_response ""
  694.     setcycle 49 frame_colour "Black"
  695.     setcycle 49 match "n"
  696.     run s1_trial_sequence
  697.  
  698. define inline_script p_ongoing_script
  699.     set _run ""
  700.     ___prepare__
  701.     # Create the image generating script.
  702.    
  703.     # Import random and canvas:
  704.     import random as rdm
  705.     import numpy as np
  706.     from openexp.canvas import canvas
  707.     trial_display = canvas(exp)
  708.    
  709.     # Draw the stim-set frame:
  710.     trial_display.set_penwidth(3)
  711.     trial_display.rect(32,224,960,320, fill=False)
  712.    
  713.     # Define a list of numerical values representing an 'n'-verticed image
  714.     n = [8,6,4,3]
  715.     # Then, a random value from 'n' is needed for every image to be presented:
  716.     #(code found in cogsci.nl thread http://forum.cogsci.nl/index.php?p=/
  717.     # discussion/325/solved-question-randomization-on-one-page-using-forms/p1)
  718.     rdm.shuffle(n) # Shuffle the list order
  719.     while len(n) > 0: # While the list is not empty
  720.         nss = n.pop() # 'Pop' the first item
  721.    
  722.     # A list of indices for points1 and points2. This is just a list
  723.     # from 0, 1, 2, 3, etc. up to the length of the list minus 1.
  724.     indices1 = range(len(points1))
  725.     indices2 = range(len(points2))
  726.    
  727.     # Randomly sample a number of indices. Here we select 'nss',
  728.     # so that polygons will have 'n-sides'.
  729.     # For image1:
  730.     image1_indices = rdm.sample(indices1, nss)
  731.     image2_indices = rdm.sample(indices2, nss)
  732.    
  733.     # Get variable 'match' from block_loop:
  734.    
  735.     # Image 1:
  736.     image1 = np.array(points1)[image1_indices]
  737.     # Image 2 (matching):
  738.     image2 = np.array(points2)[image1_indices]
  739.     # Image 2 (non-matching):
  740.     image3 = np.array(points2)[image2_indices]
  741.    
  742.     # Determine matching/non-matching:
  743.     if self.get('match') == 'y':
  744.         tdp2 = image2
  745.     else:
  746.         tdp2 = image3
  747.    
  748.     # Send to polygon function:
  749.     trial_display.polygon(image1)
  750.     trial_display.polygon(tdp2)
  751.    
  752.     # Show canvas:
  753.     trial_display.show()
  754.     __end__
  755.     set description "Executes Python code"
  756.  
  757. define sequence practice_sequence
  758.     set flush_keyboard "yes"
  759.     set description "Runs a number of items in sequence"
  760.     run p_block_loop "always"
  761.  
  762. define inline_script s2_keyboard_script
  763.     ___run__
  764.     from openexp.keyboard import keyboard
  765.    
  766.     # The keypress timeout
  767.     timeout = 1600
  768.    
  769.     # We poll for two responses. The first 'keyboard_response_1'
  770.     # waits for a 'z' or an 'm'. The second waits for a '1' or a '2'. These
  771.     # responses can be given in arbitrary order, are stored in
  772.     # different variables, and can time out indendently of each
  773.     # other.
  774.     exp.set('keyboard_response_1', None)
  775.     exp.set('keyboard_response_time_1', None)
  776.     keylist_1 = ['z', 'm']
  777.     exp.set('keyboard_response_2', None)
  778.     exp.set('keyboard_response_time_2', None)
  779.     keylist_2 = ['1', '2']
  780.    
  781.     # Create a keyboard object that doesn't block the
  782.     # experiment, so we can use it to poll for keypresses
  783.     # continuously.
  784.     my_keyboard = keyboard(exp, timeout=0)
  785.     my_keyboard.flush()
  786.    
  787.     # Loop until we timeout
  788.     start_time = self.time()
  789.     while self.time() - timeout < start_time:
  790.         key, key_time = my_keyboard.get_key()
  791.    
  792.         # If a key from keylist 1 is pressed, set keyboard_response_1
  793.         # and keyboard_response_time_1. Also, set key_list_1 to [], so
  794.         # that we do not capture multiple keypresses from this list.
  795.         if key in keylist_1:
  796.             exp.set('keyboard_response_1', key)
  797.             exp.set('keyboard_response_time_1', key_time - start_time)
  798.             keylist_1 = []
  799.    
  800.         # The same principle is applied for keylist 2.
  801.         if key in keylist_2:
  802.             exp.set('keyboard_response_2', key)
  803.             exp.set('keyboard_response_time_2', key_time - start_time)
  804.             keylist_2 = []
  805.    
  806.     # Create a variable to check the response against the expected response:
  807.     if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
  808.         correct_1 = '1'
  809.     else:
  810.         correct_1 = '0'
  811.     exp.set("correct_1", correct_1)
  812.    
  813.     # Create a variable to check the response against the expected response:
  814.     if self.get('keyboard_response_2') == self.get('correct_cue_response'):
  815.         correct_2 = '1'
  816.     else:
  817.         correct_2 = '0'
  818.     exp.set("correct_2", correct_2)
  819.     __end__
  820.     set _prepare ""
  821.     set description "Executes Python code"
  822.  
  823. define text_display experiment_brief
  824.     set foreground "#000000"
  825.     set font_size "20"
  826.     set description "Presents a display consisting of text"
  827.     set maxchar "200"
  828.     set align "center"
  829.     __content__
  830.     Experiment Instructions
  831.    
  832.     Thank you for taking part in this research. Please read and follow ALL instructions carefully.
  833.    
  834.     During this experiment you will be presented with 4 sessions. Each session will consist of 50 image pairs.
  835.    
  836.     Sessions will begin automatically after 20 seconds of viewing the session instructions, and a 30 second countdown screen.
  837.    
  838.     <i>Your task will be to identify if the images are symmetrical or non-symmetrical.</i>
  839.    
  840.     <b>For non-symmetrical pairs press the 'Z' key.</b>
  841.    
  842.     <b>For symmetrical pairs press the 'M' key.</b>
  843.    
  844.     There will first be a practice session of 20 image pairs. The experiment will then proceed to the main 4 sessions.
  845.    
  846.     During later sessions you will also be asked to also respond to various additional events.
  847.    
  848.     Press any key to proceed
  849.     __end__
  850.     set background "#ffffff"
  851.     set duration "keypress"
  852.     set font_family "sans"
  853.  
  854. define inline_script s2_response_script
  855.     set _run ""
  856.     ___prepare__
  857.     # For the ongoing task:
  858.    
  859.     # Determine correct ongoing response, depending on whether the images
  860.     # are matching or non-matching:
  861.     if self.get('match') == 'y':
  862.         correct_keyboard_response_1 = 'm'
  863.     else:
  864.         correct_keyboard_response_1 = 'z'
  865.    
  866.     # Set the correct response for the ongoing task by giving the variable
  867.     # 'correct_ongoing_response' a value:
  868.     exp.set("correct_ongoing_response", correct_keyboard_response_1)
  869.    
  870.     # For the PM cues:
  871.    
  872.     # Determine correct response, depending on whether session cues are present or not:
  873.     if self.get('frame_colour') == 'Blue':
  874.         correct_keyboard_response_2 = '2'
  875.    
  876.     elif self.get('pair_colour') == 'Purple':
  877.         correct_keyboard_response_2 = '1'
  878.    
  879.     else:
  880.         correct_keyboard_response_2 = ''
  881.    
  882.     # Set the correct response by giving the variable 'correct_cue_response'
  883.     # a value: 
  884.     exp.set("correct_cue_response", correct_keyboard_response_2)
  885.     __end__
  886.     set description "Executes Python code"
  887.  
  888. define inline_script s3_keyboard_script
  889.     ___run__
  890.     from openexp.keyboard import keyboard
  891.    
  892.     # The keypress timeout
  893.     timeout = 1600
  894.    
  895.     # We poll for two responses. The first 'keyboard_response_1'
  896.     # waits for a 'z' or an 'm'. The second waits for a '1', a '2' or a '3'.
  897.     # These responses can be given in arbitrary order, are stored in
  898.     # different variables, and can time out indendently of each
  899.     # other.
  900.     exp.set('keyboard_response_1', None)
  901.     exp.set('keyboard_response_time_1', None)
  902.     keylist_1 = ['z', 'm']
  903.     exp.set('keyboard_response_2', None)
  904.     exp.set('keyboard_response_time_2', None)
  905.     keylist_2 = ['1', '2', '3']
  906.    
  907.     # Create a keyboard object that doesn't block the
  908.     # experiment, so we can use it to poll for keypresses
  909.     # continuously.
  910.     my_keyboard = keyboard(exp, timeout=0)
  911.     my_keyboard.flush()
  912.    
  913.     # Loop until we timeout
  914.     start_time = self.time()
  915.     while self.time() - timeout < start_time:
  916.         key, key_time = my_keyboard.get_key()
  917.    
  918.         # If a key from keylist 1 is pressed, set keyboard_response_1
  919.         # and keyboard_response_time_1. Also, set key_list_1 to [], so
  920.         # that we do not capture multiple keypresses from this list.
  921.         if key in keylist_1:
  922.             exp.set('keyboard_response_1', key)
  923.             exp.set('keyboard_response_time_1', key_time - start_time)
  924.             keylist_1 = []
  925.    
  926.         # The same principle is applied for keylist 2.
  927.         if key in keylist_2:
  928.             exp.set('keyboard_response_2', key)
  929.             exp.set('keyboard_response_time_2', key_time - start_time)
  930.             keylist_2 = []
  931.    
  932.     # Create a variable to check the response against the expected response:
  933.     if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
  934.         correct_1 = '1'
  935.     else:
  936.         correct_1 = '0'
  937.     exp.set("correct_1", correct_1)
  938.    
  939.     # Create a variable to check the response against the expected response:
  940.     if self.get('keyboard_response_2') == self.get('correct_cue_response'):
  941.         correct_2 = '1'
  942.     else:
  943.         correct_2 = '0'
  944.     exp.set("correct_2", correct_2)
  945.     __end__
  946.     set _prepare ""
  947.     set description "Executes Python code"
  948.  
  949. define inline_script s4_response_script
  950.     set _run ""
  951.     ___prepare__
  952.     # For the ongoing task:
  953.    
  954.     # Determine correct ongoing response, depending on whether the images
  955.     # are matching or non-matching:
  956.     if self.get('match') == 'y':
  957.         correct_keyboard_response_1 = 'm'
  958.     else:
  959.         correct_keyboard_response_1 = 'z'
  960.    
  961.     # Set the correct response for the ongoing task by giving the variable
  962.     # 'correct_ongoing_response' a value:
  963.     exp.set("correct_ongoing_response", correct_keyboard_response_1)
  964.    
  965.     # For the PM cues:
  966.    
  967.     # Determine correct response, depending on whether session cues are present or not:
  968.     if self.get('frame_colour') == 'Yellow':
  969.         correct_keyboard_response_2 = '3'
  970.        
  971.     elif self.get('pair_colour') == 'Pink':
  972.         correct_keyboard_response_2 = '4'
  973.        
  974.     elif self.get('line_style') == 'dash':
  975.         correct_keyboard_response_2 = '2'
  976.    
  977.     elif self.get('line_width') == 5:
  978.         correct_keyboard_response_2 = '1'
  979.    
  980.     else:
  981.         correct_keyboard_response_2 = ''
  982.    
  983.     # Set the correct response by giving the variable 'correct_cue_response'
  984.     # a value: 
  985.     exp.set("correct_cue_response", correct_keyboard_response_2)
  986.     __end__
  987.     set description "Executes Python code"
  988.  
  989. define inline_script p_keyboard_reponse
  990.     ___run__
  991.     from openexp.keyboard import keyboard
  992.    
  993.     # The keypress timeout
  994.     timeout = 1600
  995.      
  996.     # We poll for two responses. The 'keyboard_response_1'
  997.     # waits for a 'z' or an 'm'.
  998.     exp.set('keyboard_response_1', None)
  999.     exp.set('keyboard_response_time_1', None)
  1000.     keylist_1 = ['z', 'm']
  1001.    
  1002.     # Create a keyboard object that doesn't block the
  1003.     # experiment, so we can use it to poll for keypresses
  1004.     # continuously.
  1005.     my_keyboard = keyboard(exp, timeout=0)
  1006.     my_keyboard.flush()
  1007.    
  1008.     # Loop until we timeout
  1009.     start_time = self.time()
  1010.     while self.time() - timeout < start_time:
  1011.         key, key_time = my_keyboard.get_key()
  1012.      
  1013.     # If a key from keylist 1 is pressed, set keyboard_response_1
  1014.     # and keyboard_response_time_1. Also, set key_list_1 to [], so
  1015.     # that we do not capture multiple keypresses from this list.
  1016.     if key in keylist_1:
  1017.         exp.set('keyboard_response_1', key)
  1018.         exp.set('keyboard_response_time_1', key_time - start_time)
  1019.         keylist_1 = []
  1020.    
  1021.     # Create a variable to check the key response against the expected response:
  1022.     if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
  1023.         correct_1 = '1'
  1024.     else:
  1025.         correct_1 = '0'
  1026.     exp.set("correct_1", correct_1)
  1027.     __end__
  1028.     set _prepare ""
  1029.     set description "Executes Python code"
  1030.  
  1031. define inline_script p_response_script
  1032.     set _run ""
  1033.     ___prepare__
  1034.     # For the ongoing task:
  1035.    
  1036.     # Determine correct ongoing response, depending on whether the images
  1037.     # are matching or non-matching:
  1038.     if self.get('match') == 'y':
  1039.         correct_keyboard_response_1 = 'm'
  1040.     else:
  1041.         correct_keyboard_response_1 = 'z'
  1042.    
  1043.     # Set the correct response for the ongoing task by giving the variable
  1044.     # 'correct_ongoing_response' a value:
  1045.     exp.set("correct_ongoing_response", correct_keyboard_response_1)
  1046.     __end__
  1047.     set description "Executes Python code"
  1048.  
  1049. define inline_script s1_ongoing_script
  1050.     set _run ""
  1051.     ___prepare__
  1052.     # Create the image generating script.
  1053.    
  1054.     # Import random and canvas:
  1055.     import random as rdm
  1056.     import numpy as np
  1057.     from openexp.canvas import canvas
  1058.     trial_display = canvas(exp)
  1059.    
  1060.     # Draw the stim-set frame:
  1061.     trial_display.set_penwidth(3)
  1062.     frame_colour = self.get('frame_colour')
  1063.     trial_display.rect(32,224,960,320, fill=False, color=frame_colour)
  1064.    
  1065.     # Define a list of numerical values representing an 'n'-verticed image
  1066.     n = [8,6,4,3]
  1067.     # Then, a random value from 'n' is needed for every image to be presented:
  1068.     #(code found in cogsci.nl thread http://forum.cogsci.nl/index.php?p=/
  1069.     # discussion/325/solved-question-randomization-on-one-page-using-forms/p1)
  1070.     rdm.shuffle(n) # Shuffle the list order
  1071.     while len(n) > 0: # While the list is not empty
  1072.         nss = n.pop() # 'Pop' the first item
  1073.    
  1074.     # A list of indices for points1 and points2. This is just a list
  1075.     # from 0, 1, 2, 3, etc. up to the length of the list minus 1.
  1076.     indices1 = range(len(points1))
  1077.     indices2 = range(len(points2))
  1078.    
  1079.     # Randomly sample a number of indices. Here we select 'nss',
  1080.     # so that polygons will have 'n-sides'.
  1081.     # For image1:
  1082.     image1_indices = rdm.sample(indices1, nss)
  1083.     image2_indices = rdm.sample(indices2, nss)
  1084.    
  1085.     # Get variable 'match' from block_loop:
  1086.    
  1087.     # Image 1:
  1088.     image1 = np.array(points1)[image1_indices]
  1089.     # Image 2 (matching):
  1090.     image2 = np.array(points2)[image1_indices]
  1091.     # Image 2 (non-matching):
  1092.     image3 = np.array(points2)[image2_indices]
  1093.    
  1094.     # Determine matching/non-matching:
  1095.     if self.get('match') == 'y':
  1096.         tdp2 = image2
  1097.     else:
  1098.         tdp2 = image3
  1099.    
  1100.     # Send to polygon function:
  1101.     trial_display.polygon(image1)
  1102.     trial_display.polygon(tdp2)
  1103.    
  1104.     # Show canvas:
  1105.     trial_display.show()
  1106.     __end__
  1107.     set description "Executes Python code"
  1108.  
  1109. define text_display s1_instructions
  1110.     set foreground "Black"
  1111.     set font_size "20"
  1112.     set description "Presents a display consisting of text"
  1113.     set maxchar "200"
  1114.     set align "center"
  1115.     __content__
  1116.     Session A
  1117.    
  1118.     The following session will consist of 50 instances of image pairs.
  1119.    
  1120.     Please remember to press the
  1121.     <b>'Z' key for non-symmetrical pairs</b> and the <b>'M' key for symmetrical pairs.</b>
  1122.    
  1123.     In addition, when the following events occur please press the corresponding key:
  1124.    
  1125.     '1' key = border turns green
  1126.    
  1127.     Responses should be carried out as quickly and accurately as possible.
  1128.     __end__
  1129.     set background "White"
  1130.     set duration "20000"
  1131.     set font_family "sans"
  1132.  
  1133. define inline_script s3_response_script
  1134.     set _run ""
  1135.     ___prepare__
  1136.     # For the ongoing task:
  1137.    
  1138.     # Determine correct ongoing response, depending on whether the images
  1139.     # are matching or non-matching:
  1140.     if self.get('match') == 'y':
  1141.         correct_keyboard_response_1 = 'm'
  1142.     else:
  1143.         correct_keyboard_response_1 = 'z'
  1144.    
  1145.     # Set the correct response for the ongoing task by giving the variable
  1146.     # 'correct_ongoing_response' a value:
  1147.     exp.set("correct_ongoing_response", correct_keyboard_response_1)
  1148.    
  1149.     # For the PM cues:
  1150.    
  1151.     # Determine correct response, depending on whether session cues are present or not:
  1152.     if self.get('frame_colour') == 'Orange':
  1153.         correct_keyboard_response_2 = '1'
  1154.        
  1155.     elif self.get('pair_colour') == 'Red':
  1156.         correct_keyboard_response_2 = '2'
  1157.    
  1158.     elif self.get('line_style') == 'dash':
  1159.         correct_keyboard_response_2 = '3'
  1160.    
  1161.     else:
  1162.         correct_keyboard_response_2 = ''
  1163.    
  1164.     # Set the correct response by giving the variable 'correct_cue_response'
  1165.     # a value: 
  1166.     exp.set("correct_cue_response", correct_keyboard_response_2)
  1167.     __end__
  1168.     set description "Executes Python code"
  1169.  
  1170. define text_display practice_instructions
  1171.     set foreground "#000000"
  1172.     set font_size "20"
  1173.     set description "Presents a display consisting of text"
  1174.     set maxchar "200"
  1175.     set align "center"
  1176.     __content__
  1177.     Practice Session
  1178.    
  1179.     The following session will consist of 20 instances of image pairs.
  1180.    
  1181.     Please remember to press the
  1182.     <b>'Z' key for non-symmetrical pairs</b> and the <b>'M' key for symmetrical pairs.</b>
  1183.     __end__
  1184.     set background "#ffffff"
  1185.     set duration "20000"
  1186.     set font_family "sans"
  1187.  
  1188. define loop s2
  1189.     set repeat "1"
  1190.     set description "Repeatedly runs another item"
  1191.     set item "s2_sequence"
  1192.     set column_order ""
  1193.     set cycles "1"
  1194.     set order "sequential"
  1195.     run s2_sequence
  1196.  
  1197. define loop s1
  1198.     set repeat "1"
  1199.     set description "Repeatedly runs another item"
  1200.     set item "s1_sequence"
  1201.     set column_order ""
  1202.     set cycles "1"
  1203.     set order "random"
  1204.     run s1_sequence
  1205.  
  1206. define loop s4
  1207.     set repeat "1"
  1208.     set description "Repeatedly runs another item"
  1209.     set item "s4__sequence"
  1210.     set column_order ""
  1211.     set cycles "1"
  1212.     set order "sequential"
  1213.     run s4__sequence
  1214.  
  1215. define sequence experiment
  1216.     set flush_keyboard "yes"
  1217.     set description "Runs a number of items in sequence"
  1218.     run stripes "never"
  1219.     run image_points "always"
  1220.     run experiment_brief "always"
  1221.     run practice_instructions "always"
  1222.     run p_countdown "always"
  1223.     run practice "always"
  1224.     run s1_instructions "always"
  1225.     run s_countdown "always"
  1226.     run s1 "always"
  1227.     run s2_instructions "always"
  1228.     run s_countdown "always"
  1229.     run s2 "always"
  1230.     run s3_instructions "always"
  1231.     run s_countdown "always"
  1232.     run s3 "always"
  1233.     run s4_instructions "always"
  1234.     run s_countdown "always"
  1235.     run s4 "always"
  1236.     run experiment_end "always"
  1237.  
  1238. define text_display s4_instructions
  1239.     set foreground "Black"
  1240.     set font_size "20"
  1241.     set description "Presents a display consisting of text"
  1242.     set maxchar "200"
  1243.     set align "center"
  1244.     __content__
  1245.     Session D
  1246.    
  1247.     The following session will consist of 50 instances of image pairs.
  1248.    
  1249.     Please remember to press the
  1250.     <b>'Z' key for non-symmetrical pairs</b> and the <b>'M' key for symmetrical pairs.</b>
  1251.    
  1252.     In addition, when the following events occur please press the corresponding key:
  1253.    
  1254.     '1' key = image line width changes
  1255.     '2' key = image changed line style
  1256.     '3' key = border turns yellow
  1257.     '4' key = image pair turns pink
  1258.    
  1259.     Responses should be carried out as quickly and accurately as possible.
  1260.     __end__
  1261.     set background "White"
  1262.     set duration "20000"
  1263.     set font_family "sans"
  1264.  
  1265. define sequence s3_trial_sequence
  1266.     set flush_keyboard "yes"
  1267.     set description "Runs a number of items in sequence"
  1268.     run s3_ongoing_script "always"
  1269.     run s3_response_script "always"
  1270.     run s3_keyboard_script "always"
  1271.     run logger "always"
  1272.  
  1273. define logger logger
  1274.     set ignore_missing "yes"
  1275.     set description "Logs experimental data"
  1276.     set auto_log "yes"
  1277.     set use_quotes "yes"
  1278.     log "response"
  1279.     log "response_time"
  1280.     log "correct"
  1281.     log "average_response_time"
  1282.     log "avg_rt"
  1283.     log "accuracy"
  1284.     log "acc"
  1285.     log "count_experiment"
  1286.     log "count_s1_sequence"
  1287.     log "count_practice_sequence"
  1288.     log "count_s4_sequence"
  1289.     log "count_s2_sequence"
  1290.     log "count_s3_sequence"
  1291.     log "count_trial_sequence"
  1292.     log "response_keyboard_response"
  1293.     log "response_time_keyboard_response"
  1294.     log "correct_keyboard_response"
  1295.     log "s_countdown"
  1296.  
  1297. define sequence s3_sequence
  1298.     set flush_keyboard "yes"
  1299.     set description "Runs a number of items in sequence"
  1300.     run s3_block_loop "always"
  1301.  
  1302. define sequence p_trial_sequence
  1303.     set flush_keyboard "yes"
  1304.     set description "Runs a number of items in sequence"
  1305.     run p_ongoing_script "always"
  1306.     run p_response_script "always"
  1307.     run p_keyboard_reponse "always"
  1308.     run logger "always"
  1309.  
  1310. define feedback p_feedback
  1311.     set duration "1000"
  1312.     set reset_variables "yes"
  1313.     set description "Provides feedback to the participant"
  1314.     draw textline 0 0 "[p_countdown]" center=1 color=Black font_family="sans" font_size=50 font_italic=no font_bold=no show_if="always" html="yes"
  1315.  
  1316. define text_display s3_instructions
  1317.     set foreground "Black"
  1318.     set font_size "20"
  1319.     set description "Presents a display consisting of text"
  1320.     set maxchar "200"
  1321.     set align "center"
  1322.     __content__
  1323.     Session C
  1324.    
  1325.     The following session will consist of 50 instances of image pairs.
  1326.    
  1327.     Please remember to press the
  1328.     <b>'Z' key for non-symmetrical pairs</b> and the <b>'M' key for symmetrical pairs.</b>
  1329.    
  1330.     In addition, when the following events occur please press the corresponding key:
  1331.    
  1332.     '1' key = border turns orange
  1333.     '2' key = image pair turns red
  1334.     '3' key = image pair changes line style
  1335.    
  1336.     Responses should be carried out as quickly and accurately as possible.
  1337.     __end__
  1338.     set background "White"
  1339.     set duration "20000"
  1340.     set font_family "sans"
  1341.  
  1342. define sequence s2_trial_sequence
  1343.     set flush_keyboard "yes"
  1344.     set description "Runs a number of items in sequence"
  1345.     run s2_ongoing_script "always"
  1346.     run s2_response_script "always"
  1347.     run s2_keyboard_script "always"
  1348.     run logger "always"
  1349.  
  1350. define loop p_countdown
  1351.     set repeat "1"
  1352.     set description "Repeatedly runs another item"
  1353.     set skip "0"
  1354.     set item "p_feedback"
  1355.     set column_order "p_countdown"
  1356.     set cycles "10"
  1357.     set order "sequential"
  1358.     setcycle 0 p_countdown "10"
  1359.     setcycle 1 p_countdown "9"
  1360.     setcycle 2 p_countdown "8"
  1361.     setcycle 3 p_countdown "7"
  1362.     setcycle 4 p_countdown "6"
  1363.     setcycle 5 p_countdown "5"
  1364.     setcycle 6 p_countdown "4"
  1365.     setcycle 7 p_countdown "3"
  1366.     setcycle 8 p_countdown "2"
  1367.     setcycle 9 p_countdown "1"
  1368.     run p_feedback
  1369.  
  1370. define loop practice
  1371.     set repeat "1"
  1372.     set description "Repeatedly runs another item"
  1373.     set item "practice_sequence"
  1374.     set column_order ""
  1375.     set cycles "1"
  1376.     set order "sequential"
  1377.     run practice_sequence
  1378.  
  1379. define sketchpad stripes
  1380.     set duration "keypress"
  1381.     set description "Displays stimuli"
  1382.     draw line -416 -160 -448 -128 penwidth=5 color=White show_if="always"
  1383.     draw line -384 -160 -448 -96 penwidth=5 color=#ffffff show_if="always"
  1384.     draw line -352 -160 -448 -64 penwidth=5 color=#ffffff show_if="always"
  1385.     draw line -320 -160 -448 -32 penwidth=5 color=#ffffff show_if="always"
  1386.     draw line -288 -160 -448 0 penwidth=5 color=#ffffff show_if="always"
  1387.     draw line -256 -160 -448 32 penwidth=5 color=#ffffff show_if="always"
  1388.     draw line -224 -160 -448 64 penwidth=5 color=#ffffff show_if="always"
  1389.     draw line -192 -160 -448 96 penwidth=5 color=#ffffff show_if="always"
  1390.     draw line -160 -160 -448 128 penwidth=5 color=#ffffff show_if="always"
  1391.     draw line -128 -160 -448 160 penwidth=5 color=#ffffff show_if="always"
  1392.     draw line -96 -160 -448 192 penwidth=5 color=#ffffff show_if="always"
  1393.     draw line -64 -160 -416 192 penwidth=5 color=#ffffff show_if="always"
  1394.     draw line -32 -160 -384 192 penwidth=5 color=#ffffff show_if="always"
  1395.     draw line -32 -128 -352 192 penwidth=5 color=#ffffff show_if="always"
  1396.     draw line -32 -96 -320 192 penwidth=5 color=#ffffff show_if="always"
  1397.     draw line -32 -64 -288 192 penwidth=5 color=#ffffff show_if="always"
  1398.     draw line -32 -32 -256 192 penwidth=5 color=#ffffff show_if="always"
  1399.     draw line -32 0 -224 192 penwidth=5 color=#ffffff show_if="always"
  1400.     draw line -32 32 -192 192 penwidth=5 color=#ffffff show_if="always"
  1401.     draw line -32 64 -160 192 penwidth=5 color=#ffffff show_if="always"
  1402.     draw line -32 96 -128 192 penwidth=5 color=#ffffff show_if="always"
  1403.     draw line -32 128 -96 192 penwidth=5 color=#ffffff show_if="always"
  1404.     draw line -32 160 -64 192 penwidth=5 color=#ffffff show_if="always"
  1405.     draw line 32 160 64 192 penwidth=5 color=#ffffff show_if="always"
  1406.     draw line 32 128 96 192 penwidth=5 color=#ffffff show_if="always"
  1407.     draw line 32 96 128 192 penwidth=5 color=#ffffff show_if="always"
  1408.     draw line 32 64 160 192 penwidth=5 color=#ffffff show_if="always"
  1409.     draw line 32 32 192 192 penwidth=5 color=#ffffff show_if="always"
  1410.     draw line 32 0 224 192 penwidth=5 color=#ffffff show_if="always"
  1411.     draw line 32 -32 256 192 penwidth=5 color=#ffffff show_if="always"
  1412.     draw line 32 -64 288 192 penwidth=5 color=#ffffff show_if="always"
  1413.     draw line 32 -96 320 192 penwidth=5 color=#ffffff show_if="always"
  1414.     draw line 32 -128 352 192 penwidth=5 color=#ffffff show_if="always"
  1415.     draw line 32 -160 384 192 penwidth=5 color=#ffffff show_if="always"
  1416.     draw line 64 -160 416 192 penwidth=5 color=#ffffff show_if="always"
  1417.     draw line 128 -128 448 192 penwidth=5 color=#ffffff show_if="always"
  1418.     draw line 160 -128 448 160 penwidth=5 color=#ffffff show_if="always"
  1419.     draw line 192 -128 448 128 penwidth=5 color=#ffffff show_if="always"
  1420.     draw line 224 -128 448 96 penwidth=5 color=#ffffff show_if="always"
  1421.     draw line 256 -128 448 64 penwidth=5 color=#ffffff show_if="always"
  1422.     draw line 288 -128 448 32 penwidth=5 color=#ffffff show_if="always"
  1423.     draw line 320 -128 448 0 penwidth=5 color=#ffffff show_if="always"
  1424.     draw line 352 -128 448 -32 penwidth=5 color=#ffffff show_if="always"
  1425.     draw line 384 -128 448 -64 penwidth=5 color=#ffffff show_if="always"
  1426.     draw line 416 -128 448 -96 penwidth=5 color=#ffffff show_if="always"
  1427.  
  1428. define sequence s1_sequence
  1429.     set flush_keyboard "yes"
  1430.     set description "Runs a number of items in sequence"
  1431.     run s1_block_loop "always"
  1432.  
  1433. define inline_script s1_response_script
  1434.     set _run ""
  1435.     ___prepare__
  1436.     # For the ongoing task:
  1437.    
  1438.    
  1439.     # Determine correct ongoing response, depending on whether the images
  1440.     # are matching or non-matching:
  1441.     if self.get('match') == 'y':
  1442.         correct_keyboard_response_1 = 'm'
  1443.     else:
  1444.         correct_keyboard_response_1 = 'z'
  1445.    
  1446.     # Set the correct response for the ongoing task by giving the variable
  1447.     # 'correct_ongoing_response' a value:
  1448.     exp.set("correct_ongoing_response", correct_keyboard_response_1)
  1449.    
  1450.     # For the PM cues:
  1451.    
  1452.     # Determine correct response, depending on whether session cues are present or not:
  1453.     if self.get('frame_colour') == 'Green':
  1454.         correct_keyboard_response_2 = '1'
  1455.    
  1456.     else:
  1457.         correct_keyboard_response_2 = ''
  1458.    
  1459.     # Set the correct response by giving the variable 'correct_cue_response'
  1460.     # a value: 
  1461.     exp.set("correct_cue_response", correct_keyboard_response_2)
  1462.     __end__
  1463.     set description "Executes Python code"
  1464.  
  1465. define loop s_countdown
  1466.     set repeat "1"
  1467.     set description "Repeatedly runs another item"
  1468.     set skip "0"
  1469.     set item "s_feedback"
  1470.     set column_order "s_countdown"
  1471.     set cycles "30"
  1472.     set order "sequential"
  1473.     setcycle 0 s_countdown "30"
  1474.     setcycle 1 s_countdown "29"
  1475.     setcycle 2 s_countdown "28"
  1476.     setcycle 3 s_countdown "27"
  1477.     setcycle 4 s_countdown "26"
  1478.     setcycle 5 s_countdown "25"
  1479.     setcycle 6 s_countdown "24"
  1480.     setcycle 7 s_countdown "23"
  1481.     setcycle 8 s_countdown "22"
  1482.     setcycle 9 s_countdown "21"
  1483.     setcycle 10 s_countdown "20"
  1484.     setcycle 11 s_countdown "19"
  1485.     setcycle 12 s_countdown "18"
  1486.     setcycle 13 s_countdown "17"
  1487.     setcycle 14 s_countdown "16"
  1488.     setcycle 15 s_countdown "15"
  1489.     setcycle 16 s_countdown "14"
  1490.     setcycle 17 s_countdown "13"
  1491.     setcycle 18 s_countdown "12"
  1492.     setcycle 19 s_countdown "11"
  1493.     setcycle 20 s_countdown "10"
  1494.     setcycle 21 s_countdown "9"
  1495.     setcycle 22 s_countdown "8"
  1496.     setcycle 23 s_countdown "7"
  1497.     setcycle 24 s_countdown "6"
  1498.     setcycle 25 s_countdown "5"
  1499.     setcycle 26 s_countdown "4"
  1500.     setcycle 27 s_countdown "3"
  1501.     setcycle 28 s_countdown "2"
  1502.     setcycle 29 s_countdown "1"
  1503.     run s_feedback
  1504.  
  1505. define text_display s2_instructions
  1506.     set foreground "Black"
  1507.     set font_size "20"
  1508.     set description "Presents a display consisting of text"
  1509.     set maxchar "200"
  1510.     set align "center"
  1511.     __content__
  1512.     Session B
  1513.    
  1514.     The following session will consist of 50 instances of image pairs.
  1515.    
  1516.     Please remember to press the
  1517.     <b>'Z' key for non-symmetrical pairs</b> and the <b>'M' key for symmetrical pairs.</b>
  1518.    
  1519.     In addition, when the following events occur please press the corresponding key:
  1520.    
  1521.     '1' key = image pair turns purple
  1522.     '2' key = border turns blue
  1523.    
  1524.     Responses should be carried out as quickly and accurately as possible.
  1525.     __end__
  1526.     set background "White"
  1527.     set duration "20000"
  1528.     set font_family "sans"
  1529.  
  1530. define inline_script s1_keyboard_script
  1531.     ___run__
  1532.     from openexp.keyboard import keyboard
  1533.    
  1534.     # The keypress timeout
  1535.     timeout = 1600
  1536.    
  1537.     # We poll for two responses. The first 'keyboard_response_1'
  1538.     # waits for a 'z' or an 'm'. The second waits for a '1'. These
  1539.     # responses can be given in arbitrary order, are stored in
  1540.     # different variables, and can time out indendently of each
  1541.     # other.
  1542.     exp.set('keyboard_response_1', None)
  1543.     exp.set('keyboard_response_time_1', None)
  1544.     keylist_1 = ['z', 'm']
  1545.     exp.set('keyboard_response_2', None)
  1546.     exp.set('keyboard_response_time_2', None)
  1547.     keylist_2 = ['1']
  1548.    
  1549.     # Create a keyboard object that doesn't block the
  1550.     # experiment, so we can use it to poll for keypresses
  1551.     # continuously.
  1552.     my_keyboard = keyboard(exp, timeout=0)
  1553.     my_keyboard.flush()
  1554.    
  1555.     # Loop until we timeout
  1556.     start_time = self.time()
  1557.     while self.time() - timeout < start_time:
  1558.         key, key_time = my_keyboard.get_key()
  1559.    
  1560.         # If a key from keylist 1 is pressed, set keyboard_response_1
  1561.         # and keyboard_response_time_1. Also, set key_list_1 to [], so
  1562.         # that we do not capture multiple keypresses from this list.
  1563.         if key in keylist_1:
  1564.             exp.set('keyboard_response_1', key)
  1565.             exp.set('keyboard_response_time_1', key_time - start_time)
  1566.             keylist_1 = []
  1567.    
  1568.         # The same principle is applied for keylist 2.
  1569.         if key in keylist_2:
  1570.             exp.set('keyboard_response_2', key)
  1571.             exp.set('keyboard_response_time_2', key_time - start_time)
  1572.             keylist_2 = []
  1573.    
  1574.     # Create a variable to check the response against the expected response:
  1575.     if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
  1576.         correct_1 = '1'
  1577.     else:
  1578.         correct_1 = '0'
  1579.     exp.set("correct_1", correct_1)
  1580.    
  1581.     # Create a variable to check the response against the expected response:
  1582.     if self.get('keyboard_response_2') == self.get('correct_cue_response'):
  1583.         correct_2 = '1'
  1584.     else:
  1585.         correct_2 = '0'
  1586.     exp.set("correct_2", correct_2)
  1587.     __end__
  1588.     set _prepare ""
  1589.     set description "Executes Python code"
  1590.  
  1591. define inline_script s4_keyboard_script
  1592.     ___run__
  1593.     from openexp.keyboard import keyboard
  1594.    
  1595.     # The keypress timeout
  1596.     timeout = 1600
  1597.    
  1598.     # We poll for two responses. The first 'keyboard_response_1' waits for
  1599.     # a 'z' or an 'm'. The second waits for a '1', a '2', a '3' or a '4'.
  1600.     # These responses can be given in arbitrary order, are stored in
  1601.     # different variables, and can time out indendently of each other.
  1602.     exp.set('keyboard_response_1', None)
  1603.     exp.set('keyboard_response_time_1', None)
  1604.     keylist_1 = ['z', 'm']
  1605.     exp.set('keyboard_response_2', None)
  1606.     exp.set('keyboard_response_time_2', None)
  1607.     keylist_2 = ['1', '2', '3', '4']
  1608.    
  1609.     # Create a keyboard object that doesn't block the
  1610.     # experiment, so we can use it to poll for keypresses
  1611.     # continuously.
  1612.     my_keyboard = keyboard(exp, timeout=0)
  1613.     my_keyboard.flush()
  1614.    
  1615.     # Loop until we timeout
  1616.     start_time = self.time()
  1617.     while self.time() - timeout < start_time:
  1618.         key, key_time = my_keyboard.get_key()
  1619.    
  1620.         # If a key from keylist 1 is pressed, set keyboard_response_1
  1621.         # and keyboard_response_time_1. Also, set key_list_1 to [], so
  1622.         # that we do not capture multiple keypresses from this list.
  1623.         if key in keylist_1:
  1624.             exp.set('keyboard_response_1', key)
  1625.             exp.set('keyboard_response_time_1', key_time - start_time)
  1626.             keylist_1 = []
  1627.    
  1628.         # The same principle is applied for keylist 2.
  1629.         if key in keylist_2:
  1630.             exp.set('keyboard_response_2', key)
  1631.             exp.set('keyboard_response_time_2', key_time - start_time)
  1632.             keylist_2 = []
  1633.    
  1634.     # Create a variable to check the response against the expected response:
  1635.     if self.get('keyboard_response_1') == self.get('correct_ongoing_response'):
  1636.         correct_1 = '1'
  1637.     else:
  1638.         correct_1 = '0'
  1639.     exp.set("correct_1", correct_1)
  1640.    
  1641.     # Create a variable to check the response against the expected response:
  1642.     if self.get('keyboard_response_2') == self.get('correct_cue_response'):
  1643.         correct_2 = '1'
  1644.     else:
  1645.         correct_2 = '0'
  1646.     exp.set("correct_2", correct_2)
  1647.     __end__
  1648.     set _prepare ""
  1649.     set description "Executes Python code"
  1650.  
  1651. define text_display experiment_end
  1652.     set foreground "#000000"
  1653.     set font_size "20"
  1654.     set description "Presents a display consisting of text"
  1655.     set maxchar "50"
  1656.     set align "center"
  1657.     __content__
  1658.     This is the end of the experiment
  1659.    
  1660.     Thank you once again for taking part.
  1661.    
  1662.     <b>Try not to disturb other participants</b>
  1663.    
  1664.     Please quietly raise your hand to indicate that you have finished.
  1665.    
  1666.     You will receive a full debrief and may then leave.
  1667.     __end__
  1668.     set background "#ffffff"
  1669.     set duration "keypress"
  1670.     set font_family "sans"
  1671.  
  1672. define inline_script image_points
  1673.     set _run ""
  1674.     ___prepare__
  1675.     # Make lists of (x, y) values for image1 and image2:
  1676.     points1 = [(64,256),(96,256),(128,256),(160,256),(192,256),(224,256),(256,256),(288,256),(320,256),(352,256),(384,256),(416,256),(448,256),(480,256),\
  1677.     (64,288),(96,288),(128,288),(160,288),(192,288),(224,288),(256,288),(288,288),(320,288),(352,288),(384,288),(416,288),(448,288),(480,288),\
  1678.     (64,320),(96,320),(128,320),(160,320),(192,320),(224,320),(256,320),(288,320),(320,320),(352,320),(384,320),(416,320),(448,320),(480,320),\
  1679.     (64,352),(96,352),(128,352),(160,352),(192,352),(224,352),(256,352),(288,352),(320,352),(352,352),(384,352),(416,352),(448,352),(480,352),\
  1680.     (64,384),(96,384),(128,384),(160,384),(192,384),(224,384),(256,384),(288,384),(320,384),(352,384),(384,384),(416,384),(448,384),(480,384),\
  1681.     (64,416),(96,416),(128,416),(160,416),(192,416),(224,416),(256,416),(288,416),(320,416),(352,416),(384,416),(416,416),(448,416),(480,416),\
  1682.     (64,448),(96,448),(128,448),(160,448),(192,448),(224,448),(256,448),(288,448),(320,448),(352,448),(384,448),(416,448),(448,448),(480,448),\
  1683.     (64,480),(96,480),(128,480),(160,480),(192,480),(224,480),(256,480),(288,480),(320,480),(352,480),(384,480),(416,480),(448,480),(480,480),\
  1684.     (64,512),(96,512),(128,512),(160,512),(192,512),(224,512),(256,512),(288,512),(320,512),(352,512),(384,512),(416,512),(448,512),(480,512)]
  1685.    
  1686.     points2 = [(544,256),(576,256),(608,256),(640,256),(672,256),(704,256),(736,256),(768,256),(800,256),(832,256),(864,256),(896,256),(928,256),(960,256),\
  1687.     (544,288),(576,288),(608,288),(640,288),(672,288),(704,288),(736,288),(768,288),(800,288),(832,288),(864,288),(896,288),(928,288),(960,288),\
  1688.     (544,320),(576,320),(608,320),(640,320),(672,320),(704,320),(736,320),(768,320),(800,320),(832,320),(864,320),(896,320),(928,320),(960,320),\
  1689.     (544,352),(576,352),(608,352),(640,352),(672,352),(704,352),(736,352),(768,352),(800,352),(832,352),(864,352),(896,352),(928,352),(960,352),\
  1690.     (544,384),(576,384),(608,384),(640,384),(672,384),(704,384),(736,384),(768,384),(800,384),(832,384),(864,384),(896,384),(928,384),(960,384),\
  1691.     (544,416),(576,416),(608,416),(640,416),(672,416),(704,416),(736,416),(768,416),(800,416),(832,416),(864,416),(896,416),(928,416),(960,416),\
  1692.     (544,448),(576,448),(608,448),(640,448),(672,448),(704,448),(736,448),(768,448),(800,448),(832,448),(864,448),(896,448),(928,448),(960,448),\
  1693.     (544,480),(576,480),(608,480),(640,480),(672,480),(704,480),(736,480),(768,480),(800,480),(832,480),(864,480),(896,480),(928,480),(960,480),\
  1694.     (544,512),(576,512),(608,512),(640,512),(672,512),(704,512),(736,512),(768,512),(800,512),(832,512),(864,512),(896,512),(928,512),(960,512)]
  1695.    
  1696.     # Make image point lists global:
  1697.     global points1, points2
  1698.     __end__
  1699.     set description "Executes Python code"
  1700.  
  1701. define sequence s2_sequence
  1702.     set flush_keyboard "yes"
  1703.     set description "Runs a number of items in sequence"
  1704.     run s2_block_loop "always"
  1705.  
  1706. define loop s4_block_loop
  1707.     set repeat "1"
  1708.     set description "Repeatedly runs another item"
  1709.     set skip "0"
  1710.     set item "s4_trial_sequence"
  1711.     set column_order "match;frame_colour;pair_colour;line_style;line_width;correct_response"
  1712.     set cycles "50"
  1713.     set order "sequential"
  1714.     setcycle 0 line_width "3"
  1715.     setcycle 0 correct_response ""
  1716.     setcycle 0 frame_colour "Black"
  1717.     setcycle 0 pair_colour "Black"
  1718.     setcycle 0 line_style ""
  1719.     setcycle 0 match "n"
  1720.     setcycle 1 line_width "3"
  1721.     setcycle 1 correct_response ""
  1722.     setcycle 1 frame_colour "Black"
  1723.     setcycle 1 pair_colour "Black"
  1724.     setcycle 1 line_style ""
  1725.     setcycle 1 match "n"
  1726.     setcycle 2 line_width "3"
  1727.     setcycle 2 correct_response ""
  1728.     setcycle 2 frame_colour "Black"
  1729.     setcycle 2 pair_colour "Black"
  1730.     setcycle 2 line_style ""
  1731.     setcycle 2 match "y"
  1732.     setcycle 3 line_width "3"
  1733.     setcycle 3 correct_response ""
  1734.     setcycle 3 frame_colour "Black"
  1735.     setcycle 3 pair_colour "Black"
  1736.     setcycle 3 line_style ""
  1737.     setcycle 3 match "y"
  1738.     setcycle 4 line_width "3"
  1739.     setcycle 4 correct_response "3"
  1740.     setcycle 4 frame_colour "Yellow"
  1741.     setcycle 4 pair_colour "Black"
  1742.     setcycle 4 line_style ""
  1743.     setcycle 4 match "y"
  1744.     setcycle 5 line_width "3"
  1745.     setcycle 5 correct_response ""
  1746.     setcycle 5 frame_colour "Black"
  1747.     setcycle 5 pair_colour "Black"
  1748.     setcycle 5 line_style ""
  1749.     setcycle 5 match "n"
  1750.     setcycle 6 line_width "3"
  1751.     setcycle 6 correct_response ""
  1752.     setcycle 6 frame_colour "Black"
  1753.     setcycle 6 pair_colour "Black"
  1754.     setcycle 6 line_style ""
  1755.     setcycle 6 match "y"
  1756.     setcycle 7 line_width "3"
  1757.     setcycle 7 correct_response ""
  1758.     setcycle 7 frame_colour "Black"
  1759.     setcycle 7 pair_colour "Black"
  1760.     setcycle 7 line_style ""
  1761.     setcycle 7 match "n"
  1762.     setcycle 8 line_width "3"
  1763.     setcycle 8 correct_response ""
  1764.     setcycle 8 frame_colour "Black"
  1765.     setcycle 8 pair_colour "Black"
  1766.     setcycle 8 line_style ""
  1767.     setcycle 8 match "n"
  1768.     setcycle 9 line_width "3"
  1769.     setcycle 9 correct_response "4"
  1770.     setcycle 9 frame_colour "Black"
  1771.     setcycle 9 pair_colour "Pink"
  1772.     setcycle 9 line_style ""
  1773.     setcycle 9 match "n"
  1774.     setcycle 10 line_width "3"
  1775.     setcycle 10 correct_response ""
  1776.     setcycle 10 frame_colour "Black"
  1777.     setcycle 10 pair_colour "Black"
  1778.     setcycle 10 line_style ""
  1779.     setcycle 10 match "y"
  1780.     setcycle 11 line_width "3"
  1781.     setcycle 11 correct_response ""
  1782.     setcycle 11 frame_colour "Black"
  1783.     setcycle 11 pair_colour "Black"
  1784.     setcycle 11 line_style ""
  1785.     setcycle 11 match "n"
  1786.     setcycle 12 line_width "3"
  1787.     setcycle 12 correct_response ""
  1788.     setcycle 12 frame_colour "Black"
  1789.     setcycle 12 pair_colour "Black"
  1790.     setcycle 12 line_style ""
  1791.     setcycle 12 match "n"
  1792.     setcycle 13 line_width "3"
  1793.     setcycle 13 correct_response ""
  1794.     setcycle 13 frame_colour "Black"
  1795.     setcycle 13 pair_colour "Black"
  1796.     setcycle 13 line_style ""
  1797.     setcycle 13 match "n"
  1798.     setcycle 14 line_width "3"
  1799.     setcycle 14 correct_response "2"
  1800.     setcycle 14 frame_colour "Black"
  1801.     setcycle 14 pair_colour "Black"
  1802.     setcycle 14 line_style "dash"
  1803.     setcycle 14 match "n"
  1804.     setcycle 15 line_width "3"
  1805.     setcycle 15 correct_response ""
  1806.     setcycle 15 frame_colour "Black"
  1807.     setcycle 15 pair_colour "Black"
  1808.     setcycle 15 line_style ""
  1809.     setcycle 15 match "y"
  1810.     setcycle 16 line_width "3"
  1811.     setcycle 16 correct_response ""
  1812.     setcycle 16 frame_colour "Black"
  1813.     setcycle 16 pair_colour "Black"
  1814.     setcycle 16 line_style ""
  1815.     setcycle 16 match "y"
  1816.     setcycle 17 line_width "3"
  1817.     setcycle 17 correct_response ""
  1818.     setcycle 17 frame_colour "Black"
  1819.     setcycle 17 pair_colour "Black"
  1820.     setcycle 17 line_style ""
  1821.     setcycle 17 match "y"
  1822.     setcycle 18 line_width "3"
  1823.     setcycle 18 correct_response ""
  1824.     setcycle 18 frame_colour "Black"
  1825.     setcycle 18 pair_colour "Black"
  1826.     setcycle 18 line_style ""
  1827.     setcycle 18 match "y"
  1828.     setcycle 19 line_width "5"
  1829.     setcycle 19 correct_response "1"
  1830.     setcycle 19 frame_colour "Black"
  1831.     setcycle 19 pair_colour "Black"
  1832.     setcycle 19 line_style ""
  1833.     setcycle 19 match "n"
  1834.     setcycle 20 line_width "3"
  1835.     setcycle 20 correct_response ""
  1836.     setcycle 20 frame_colour "Black"
  1837.     setcycle 20 pair_colour "Black"
  1838.     setcycle 20 line_style ""
  1839.     setcycle 20 match "y"
  1840.     setcycle 21 line_width "3"
  1841.     setcycle 21 correct_response ""
  1842.     setcycle 21 frame_colour "Black"
  1843.     setcycle 21 pair_colour "Black"
  1844.     setcycle 21 line_style ""
  1845.     setcycle 21 match "y"
  1846.     setcycle 22 line_width "3"
  1847.     setcycle 22 correct_response ""
  1848.     setcycle 22 frame_colour "Black"
  1849.     setcycle 22 pair_colour "Black"
  1850.     setcycle 22 line_style ""
  1851.     setcycle 22 match "n"
  1852.     setcycle 23 line_width "3"
  1853.     setcycle 23 correct_response ""
  1854.     setcycle 23 frame_colour "Black"
  1855.     setcycle 23 pair_colour "Black"
  1856.     setcycle 23 line_style ""
  1857.     setcycle 23 match "y"
  1858.     setcycle 24 line_width "3"
  1859.     setcycle 24 correct_response "2"
  1860.     setcycle 24 frame_colour "Black"
  1861.     setcycle 24 pair_colour "Black"
  1862.     setcycle 24 line_style "dash"
  1863.     setcycle 24 match "y"
  1864.     setcycle 25 line_width "3"
  1865.     setcycle 25 correct_response ""
  1866.     setcycle 25 frame_colour "Black"
  1867.     setcycle 25 pair_colour "Black"
  1868.     setcycle 25 line_style ""
  1869.     setcycle 25 match "n"
  1870.     setcycle 26 line_width "3"
  1871.     setcycle 26 correct_response ""
  1872.     setcycle 26 frame_colour "Black"
  1873.     setcycle 26 pair_colour "Black"
  1874.     setcycle 26 line_style ""
  1875.     setcycle 26 match "y"
  1876.     setcycle 27 line_width "3"
  1877.     setcycle 27 correct_response ""
  1878.     setcycle 27 frame_colour "Black"
  1879.     setcycle 27 pair_colour "Black"
  1880.     setcycle 27 line_style ""
  1881.     setcycle 27 match "n"
  1882.     setcycle 28 line_width "3"
  1883.     setcycle 28 correct_response ""
  1884.     setcycle 28 frame_colour "Black"
  1885.     setcycle 28 pair_colour "Black"
  1886.     setcycle 28 line_style ""
  1887.     setcycle 28 match "y"
  1888.     setcycle 29 line_width "3"
  1889.     setcycle 29 correct_response ""
  1890.     setcycle 29 frame_colour "Black"
  1891.     setcycle 29 pair_colour "Black"
  1892.     setcycle 29 line_style ""
  1893.     setcycle 29 match "y"
  1894.     setcycle 30 line_width "3"
  1895.     setcycle 30 correct_response ""
  1896.     setcycle 30 frame_colour "Black"
  1897.     setcycle 30 pair_colour "Black"
  1898.     setcycle 30 line_style ""
  1899.     setcycle 30 match "y"
  1900.     setcycle 31 line_width "3"
  1901.     setcycle 31 correct_response ""
  1902.     setcycle 31 frame_colour "Black"
  1903.     setcycle 31 pair_colour "Black"
  1904.     setcycle 31 line_style ""
  1905.     setcycle 31 match "n"
  1906.     setcycle 32 line_width "3"
  1907.     setcycle 32 correct_response ""
  1908.     setcycle 32 frame_colour "Black"
  1909.     setcycle 32 pair_colour "Black"
  1910.     setcycle 32 line_style ""
  1911.     setcycle 32 match "n"
  1912.     setcycle 33 line_width "3"
  1913.     setcycle 33 correct_response ""
  1914.     setcycle 33 frame_colour "Black"
  1915.     setcycle 33 pair_colour "Black"
  1916.     setcycle 33 line_style ""
  1917.     setcycle 33 match "n"
  1918.     setcycle 34 line_width "3"
  1919.     setcycle 34 correct_response "4"
  1920.     setcycle 34 frame_colour "Black"
  1921.     setcycle 34 pair_colour "Pink"
  1922.     setcycle 34 line_style ""
  1923.     setcycle 34 match "n"
  1924.     setcycle 35 line_width "3"
  1925.     setcycle 35 correct_response ""
  1926.     setcycle 35 frame_colour "Black"
  1927.     setcycle 35 pair_colour "Black"
  1928.     setcycle 35 line_style ""
  1929.     setcycle 35 match "y"
  1930.     setcycle 36 line_width "3"
  1931.     setcycle 36 correct_response ""
  1932.     setcycle 36 frame_colour "Black"
  1933.     setcycle 36 pair_colour "Black"
  1934.     setcycle 36 line_style ""
  1935.     setcycle 36 match "y"
  1936.     setcycle 37 line_width "3"
  1937.     setcycle 37 correct_response ""
  1938.     setcycle 37 frame_colour "Black"
  1939.     setcycle 37 pair_colour "Black"
  1940.     setcycle 37 line_style ""
  1941.     setcycle 37 match "n"
  1942.     setcycle 38 line_width "3"
  1943.     setcycle 38 correct_response ""
  1944.     setcycle 38 frame_colour "Black"
  1945.     setcycle 38 pair_colour "Black"
  1946.     setcycle 38 line_style ""
  1947.     setcycle 38 match "n"
  1948.     setcycle 39 line_width "3"
  1949.     setcycle 39 correct_response ""
  1950.     setcycle 39 frame_colour "Black"
  1951.     setcycle 39 pair_colour "Black"
  1952.     setcycle 39 line_style ""
  1953.     setcycle 39 match "y"
  1954.     setcycle 40 line_width "3"
  1955.     setcycle 40 correct_response ""
  1956.     setcycle 40 frame_colour "Black"
  1957.     setcycle 40 pair_colour "Black"
  1958.     setcycle 40 line_style ""
  1959.     setcycle 40 match "y"
  1960.     setcycle 41 line_width "3"
  1961.     setcycle 41 correct_response ""
  1962.     setcycle 41 frame_colour "Black"
  1963.     setcycle 41 pair_colour "Black"
  1964.     setcycle 41 line_style ""
  1965.     setcycle 41 match "y"
  1966.     setcycle 42 line_width "3"
  1967.     setcycle 42 correct_response ""
  1968.     setcycle 42 frame_colour "Black"
  1969.     setcycle 42 pair_colour "Black"
  1970.     setcycle 42 line_style ""
  1971.     setcycle 42 match "y"
  1972.     setcycle 43 line_width "3"
  1973.     setcycle 43 correct_response ""
  1974.     setcycle 43 frame_colour "Black"
  1975.     setcycle 43 pair_colour "Black"
  1976.     setcycle 43 line_style ""
  1977.     setcycle 43 match "y"
  1978.     setcycle 44 line_width "3"
  1979.     setcycle 44 correct_response "3"
  1980.     setcycle 44 frame_colour "Yellow"
  1981.     setcycle 44 pair_colour "Black"
  1982.     setcycle 44 line_style ""
  1983.     setcycle 44 match "n"
  1984.     setcycle 45 line_width "3"
  1985.     setcycle 45 correct_response ""
  1986.     setcycle 45 frame_colour "Black"
  1987.     setcycle 45 pair_colour "Black"
  1988.     setcycle 45 line_style ""
  1989.     setcycle 45 match "n"
  1990.     setcycle 46 line_width "3"
  1991.     setcycle 46 correct_response ""
  1992.     setcycle 46 frame_colour "Black"
  1993.     setcycle 46 pair_colour "Black"
  1994.     setcycle 46 line_style ""
  1995.     setcycle 46 match "n"
  1996.     setcycle 47 line_width "3"
  1997.     setcycle 47 correct_response ""
  1998.     setcycle 47 frame_colour "Black"
  1999.     setcycle 47 pair_colour "Black"
  2000.     setcycle 47 line_style ""
  2001.     setcycle 47 match "y"
  2002.     setcycle 48 line_width "5"
  2003.     setcycle 48 correct_response "1"
  2004.     setcycle 48 frame_colour "Black"
  2005.     setcycle 48 pair_colour "Black"
  2006.     setcycle 48 line_style ""
  2007.     setcycle 48 match "n"
  2008.     setcycle 49 line_width "3"
  2009.     setcycle 49 correct_response ""
  2010.     setcycle 49 frame_colour "Black"
  2011.     setcycle 49 pair_colour "Black"
  2012.     setcycle 49 line_style ""
  2013.     setcycle 49 match "n"
  2014.     run s4_trial_sequence
  2015.  
  2016. define loop s3
  2017.     set repeat "1"
  2018.     set description "Repeatedly runs another item"
  2019.     set item "s3_sequence"
  2020.     set column_order ""
  2021.     set cycles "1"
  2022.     set order "sequential"
  2023.     run s3_sequence
  2024.  
  2025. define loop s2_block_loop
  2026.     set repeat "1"
  2027.     set description "Repeatedly runs another item"
  2028.     set skip "0"
  2029.     set item "s2_trial_sequence"
  2030.     set column_order "match;frame_colour;pair_colour;correct_response"
  2031.     set cycles "50"
  2032.     set order "sequential"
  2033.     setcycle 0 pair_colour "Black"
  2034.     setcycle 0 correct_response ""
  2035.     setcycle 0 frame_colour "Black"
  2036.     setcycle 0 match "y"
  2037.     setcycle 1 pair_colour "Black"
  2038.     setcycle 1 correct_response ""
  2039.     setcycle 1 frame_colour "Black"
  2040.     setcycle 1 match "n"
  2041.     setcycle 2 pair_colour "Black"
  2042.     setcycle 2 correct_response ""
  2043.     setcycle 2 frame_colour "Black"
  2044.     setcycle 2 match "y"
  2045.     setcycle 3 pair_colour "Black"
  2046.     setcycle 3 correct_response ""
  2047.     setcycle 3 frame_colour "Black"
  2048.     setcycle 3 match "n"
  2049.     setcycle 4 pair_colour "Black"
  2050.     setcycle 4 correct_response ""
  2051.     setcycle 4 frame_colour "Black"
  2052.     setcycle 4 match "y"
  2053.     setcycle 5 pair_colour "Black"
  2054.     setcycle 5 correct_response ""
  2055.     setcycle 5 frame_colour "Black"
  2056.     setcycle 5 match "y"
  2057.     setcycle 6 pair_colour "Black"
  2058.     setcycle 6 correct_response ""
  2059.     setcycle 6 frame_colour "Black"
  2060.     setcycle 6 match "n"
  2061.     setcycle 7 pair_colour "Black"
  2062.     setcycle 7 correct_response ""
  2063.     setcycle 7 frame_colour "Black"
  2064.     setcycle 7 match "y"
  2065.     setcycle 8 pair_colour "Black"
  2066.     setcycle 8 correct_response ""
  2067.     setcycle 8 frame_colour "Black"
  2068.     setcycle 8 match "y"
  2069.     setcycle 9 pair_colour "Purple"
  2070.     setcycle 9 correct_response "1"
  2071.     setcycle 9 frame_colour "Black"
  2072.     setcycle 9 match "y"
  2073.     setcycle 10 pair_colour "Black"
  2074.     setcycle 10 correct_response ""
  2075.     setcycle 10 frame_colour "Black"
  2076.     setcycle 10 match "n"
  2077.     setcycle 11 pair_colour "Black"
  2078.     setcycle 11 correct_response ""
  2079.     setcycle 11 frame_colour "Black"
  2080.     setcycle 11 match "n"
  2081.     setcycle 12 pair_colour "Black"
  2082.     setcycle 12 correct_response ""
  2083.     setcycle 12 frame_colour "Black"
  2084.     setcycle 12 match "n"
  2085.     setcycle 13 pair_colour "Black"
  2086.     setcycle 13 correct_response ""
  2087.     setcycle 13 frame_colour "Black"
  2088.     setcycle 13 match "n"
  2089.     setcycle 14 pair_colour "Black"
  2090.     setcycle 14 correct_response ""
  2091.     setcycle 14 frame_colour "Black"
  2092.     setcycle 14 match "y"
  2093.     setcycle 15 pair_colour "Black"
  2094.     setcycle 15 correct_response ""
  2095.     setcycle 15 frame_colour "Black"
  2096.     setcycle 15 match "n"
  2097.     setcycle 16 pair_colour "Black"
  2098.     setcycle 16 correct_response ""
  2099.     setcycle 16 frame_colour "Black"
  2100.     setcycle 16 match "y"
  2101.     setcycle 17 pair_colour "Black"
  2102.     setcycle 17 correct_response ""
  2103.     setcycle 17 frame_colour "Black"
  2104.     setcycle 17 match "n"
  2105.     setcycle 18 pair_colour "Black"
  2106.     setcycle 18 correct_response ""
  2107.     setcycle 18 frame_colour "Black"
  2108.     setcycle 18 match "n"
  2109.     setcycle 19 pair_colour "Black"
  2110.     setcycle 19 correct_response ""
  2111.     setcycle 19 frame_colour "Black"
  2112.     setcycle 19 match "n"
  2113.     setcycle 20 pair_colour "Black"
  2114.     setcycle 20 correct_response ""
  2115.     setcycle 20 frame_colour "Black"
  2116.     setcycle 20 match "n"
  2117.     setcycle 21 pair_colour "Black"
  2118.     setcycle 21 correct_response ""
  2119.     setcycle 21 frame_colour "Black"
  2120.     setcycle 21 match "n"
  2121.     setcycle 22 pair_colour "Black"
  2122.     setcycle 22 correct_response ""
  2123.     setcycle 22 frame_colour "Black"
  2124.     setcycle 22 match "n"
  2125.     setcycle 23 pair_colour "Black"
  2126.     setcycle 23 correct_response ""
  2127.     setcycle 23 frame_colour "Black"
  2128.     setcycle 23 match "y"
  2129.     setcycle 24 pair_colour "Black"
  2130.     setcycle 24 correct_response "2"
  2131.     setcycle 24 frame_colour "Blue"
  2132.     setcycle 24 match "y"
  2133.     setcycle 25 pair_colour "Black"
  2134.     setcycle 25 correct_response ""
  2135.     setcycle 25 frame_colour "Black"
  2136.     setcycle 25 match "n"
  2137.     setcycle 26 pair_colour "Black"
  2138.     setcycle 26 correct_response ""
  2139.     setcycle 26 frame_colour "Black"
  2140.     setcycle 26 match "y"
  2141.     setcycle 27 pair_colour "Black"
  2142.     setcycle 27 correct_response ""
  2143.     setcycle 27 frame_colour "Black"
  2144.     setcycle 27 match "y"
  2145.     setcycle 28 pair_colour "Black"
  2146.     setcycle 28 correct_response ""
  2147.     setcycle 28 frame_colour "Black"
  2148.     setcycle 28 match "y"
  2149.     setcycle 29 pair_colour "Black"
  2150.     setcycle 29 correct_response ""
  2151.     setcycle 29 frame_colour "Black"
  2152.     setcycle 29 match "y"
  2153.     setcycle 30 pair_colour "Black"
  2154.     setcycle 30 correct_response ""
  2155.     setcycle 30 frame_colour "Black"
  2156.     setcycle 30 match "n"
  2157.     setcycle 31 pair_colour "Black"
  2158.     setcycle 31 correct_response ""
  2159.     setcycle 31 frame_colour "Black"
  2160.     setcycle 31 match "y"
  2161.     setcycle 32 pair_colour "Black"
  2162.     setcycle 32 correct_response ""
  2163.     setcycle 32 frame_colour "Black"
  2164.     setcycle 32 match "n"
  2165.     setcycle 33 pair_colour "Black"
  2166.     setcycle 33 correct_response ""
  2167.     setcycle 33 frame_colour "Black"
  2168.     setcycle 33 match "y"
  2169.     setcycle 34 pair_colour "Black"
  2170.     setcycle 34 correct_response ""
  2171.     setcycle 34 frame_colour "Black"
  2172.     setcycle 34 match "n"
  2173.     setcycle 35 pair_colour "Black"
  2174.     setcycle 35 correct_response ""
  2175.     setcycle 35 frame_colour "Black"
  2176.     setcycle 35 match "y"
  2177.     setcycle 36 pair_colour "Black"
  2178.     setcycle 36 correct_response ""
  2179.     setcycle 36 frame_colour "Black"
  2180.     setcycle 36 match "y"
  2181.     setcycle 37 pair_colour "Black"
  2182.     setcycle 37 correct_response ""
  2183.     setcycle 37 frame_colour "Black"
  2184.     setcycle 37 match "n"
  2185.     setcycle 38 pair_colour "Black"
  2186.     setcycle 38 correct_response ""
  2187.     setcycle 38 frame_colour "Black"
  2188.     setcycle 38 match "y"
  2189.     setcycle 39 pair_colour "Black"
  2190.     setcycle 39 correct_response "2"
  2191.     setcycle 39 frame_colour "Blue"
  2192.     setcycle 39 match "y"
  2193.     setcycle 40 pair_colour "Black"
  2194.     setcycle 40 correct_response ""
  2195.     setcycle 40 frame_colour "Black"
  2196.     setcycle 40 match "n"
  2197.     setcycle 41 pair_colour "Black"
  2198.     setcycle 41 correct_response ""
  2199.     setcycle 41 frame_colour "Black"
  2200.     setcycle 41 match "n"
  2201.     setcycle 42 pair_colour "Black"
  2202.     setcycle 42 correct_response ""
  2203.     setcycle 42 frame_colour "Black"
  2204.     setcycle 42 match "y"
  2205.     setcycle 43 pair_colour "Black"
  2206.     setcycle 43 correct_response ""
  2207.     setcycle 43 frame_colour "Black"
  2208.     setcycle 43 match "n"
  2209.     setcycle 44 pair_colour "Black"
  2210.     setcycle 44 correct_response ""
  2211.     setcycle 44 frame_colour "Black"
  2212.     setcycle 44 match "y"
  2213.     setcycle 45 pair_colour "Black"
  2214.     setcycle 45 correct_response ""
  2215.     setcycle 45 frame_colour "Black"
  2216.     setcycle 45 match "y"
  2217.     setcycle 46 pair_colour "Black"
  2218.     setcycle 46 correct_response ""
  2219.     setcycle 46 frame_colour "Black"
  2220.     setcycle 46 match "n"
  2221.     setcycle 47 pair_colour "Black"
  2222.     setcycle 47 correct_response ""
  2223.     setcycle 47 frame_colour "Black"
  2224.     setcycle 47 match "n"
  2225.     setcycle 48 pair_colour "Black"
  2226.     setcycle 48 correct_response ""
  2227.     setcycle 48 frame_colour "Black"
  2228.     setcycle 48 match "y"
  2229.     setcycle 49 pair_colour "Purple"
  2230.     setcycle 49 correct_response "1"
  2231.     setcycle 49 frame_colour "Black"
  2232.     setcycle 49 match "n"
  2233.     run s2_trial_sequence
  2234.  
  2235. define feedback s_feedback
  2236.     set duration "1000"
  2237.     set reset_variables "yes"
  2238.     set description "Provides countdown distractor to participants"
  2239.     draw textline 0 0 "[s_countdown]" center=1 color=Black font_family="sans" font_size=50 font_italic=no font_bold=no show_if="always" html="yes"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement