Hi Dave,
After trialing some pilot participants, I have encountered a minor problem. Sorry to bring this script to your attention again. Essentially, I'm trying to equalise the presentation time of stimuli (the outcome, at either 100, 400, or 700ms) with the (now 24) scenarios and their combinations (good-good, good-bad, bad-good, and bad-bad), such that there is 6 of each combination (6 x 4 = 24, just for clarity). Ideally, this would be 2 of each presentation time per combination, however, I am struggling to create this without further pseudo-randomising my script even more. Currently, participants can receive a random (non-replaced) time for each combination, such that some combinations are occasionally presented only with one or two of the presentation times, through pure chance. Without posting the unnecessarily long script, here is a main section:
<list targetdurationE>
/items = (100, 400, 700)
/poolsize = 24
/replace = false
</list>
*********
Scenario 1
*********
<trial S01G_Scenario_Good>
/stimulustimes = [2000 = good_1; 7000 = space]
/correctresponse = (57)
/beginresponsetime = 7000
/ontrialend = [values.scenario = "good"]
/ontrialend = [values.scenario_number = "1"]
/branch = [trial.trialS01G]
/recorddata = false
</trial>
<trial S01G_Scenario_Bad>
/stimulustimes = [2000 = good_1; 7000 = space]
/correctresponse = (57)
/beginresponsetime = 7000
/ontrialend = [values.scenario = "good"]
/ontrialend = [values.scenario_number = "1"]
/branch = [trial.trialS01B]
/recorddata = false
</trial>
<trial S01B_Scenario_Good>
/stimulustimes = [2000 = bad_1; 7000 = space]
/correctresponse = (57)
/beginresponsetime = 7000
/ontrialend = [values.scenario = "bad"]
/ontrialend = [values.scenario_number = "1"]
/branch = [trial.trialS01G]
/recorddata = false
</trial>
<trial S01B_Scenario_Bad>
/stimulustimes = [2000 = bad_1; 7000 = space]
/correctresponse = (57)
/beginresponsetime = 7000
/ontrialend = [values.scenario = "bad"]
/ontrialend = [values.scenario_number = "1"]
/branch = [trial.trialS01B]
/recorddata = false
</trial>
<trial trialS01G>
/stimulustimes = [1 = whiterectangle]
/ontrialbegin = [trial.trialS01G.insertstimulustime(picture.S01G, list.targetdurationE.nextvalue)]
/ontrialbegin = [trial.trialS01G.insertstimulustime(shape.whiterectangle, list.targetdurationE.currentvalue+1000)]
/ontrialend = [trial.trialS01G.setstimulustime(shape.whiterectangle, list.targetdurationE.currentvalue)]
/ontrialend = [values.onset = list.targetdurationE.currentvalue]
/ontrialend = [trial.trialS01G.resetstimulusframes(100)]
/ontrialend = [values.outcome = "good"]
/timeout = (list.targetdurationE.currentvalue+2000)
/branch = [surveypage.te]
/recorddata = false
</trial>
<trial trialS01B>
/stimulustimes = [1 = whiterectangle]
/ontrialbegin = [trial.trialS01B.insertstimulustime(picture.S01B, list.targetdurationE.nextvalue)]
/ontrialbegin = [trial.trialS01B.insertstimulustime(shape.whiterectangle, list.targetdurationE.currentvalue+1000)]
/ontrialend = [trial.trialS01B.setstimulustime(shape.whiterectangle, list.targetdurationE.currentvalue)]
/ontrialend = [values.onset = list.targetdurationE.currentvalue]
/ontrialend = [trial.trialS01B.resetstimulusframes(100)]
/ontrialend = [values.outcome = "bad"]
/timeout = (list.targetdurationE.currentvalue+2000)
/branch = [surveypage.te0]
/recorddata = false
</trial>
<block Scenario_List_1>
/trials = [1 = noreplace(S01G_scenario_Good); 2-4 = noreplace(S02G_scenario_Bad, S03B_scenario_Good, S04B_scenario_Bad); 5 = noreplace(S05G_scenario_Good); 6-7 = noreplace(S06G_scenario_Bad, S07B_scenario_Good); 8 = noreplace(S08B_scenario_Bad); 9-12 = noreplace(S09G_scenario_Good, S10G_scenario_Bad, S11B_scenario_Good, S12B_scenario_Bad); 13 = noreplace(S13G_scenario_Good); 14-16 = noreplace(S14G_scenario_Bad, S15B_scenario_Good, S16B_scenario_Bad); 17 = noreplace(S17G_scenario_Good); 18-24 = noreplace(S18G_scenario_Bad, S19B_scenario_Good, S20B_scenario_Bad, S21G_scenario_Good, S22G_scenario_Bad, S23B_scenario_Good, S24B_scenario_Bad)]
</block>
(some trials are in specific locations because they are followed by an attention task)
<expt>
/subjects = (1 of 4)
/blocks = [1 = Scenario_List_1]
</expt>
I imagine this can be achieved through the list function, however, going through the various list attributes hasn't enlightened me as to a possible solution.
Thank you for your time, once again.
Josh