Here is the expt:
<expt>
/postinstructions = (end)
/ blocks = [1=Instructions0;2-31=noreplace(block.part1in,block.part1out);32=Instructions0;33-62=noreplace(block.part2in,block.part2out);]]
</expt>
As you see, I run two sets of blocks(30 times each):
2-31=noreplace(block.part1in,block.part1out);
33-62=noreplace(block.part2in,block.part2out);
Each of these blocks basically has same logic:
<block part1in>
/ onblockbegin = [
list.latencies.reset();
list.latencies_congruent.reset();
list.latencies_control.reset();
list.latencies_incongruent.reset();
list.responses.reset();
list.responses_congruent.reset();
list.responses_control.reset();
list.responses_incongruent.reset();
]
/ trials = [1=noreplace(redcongruent2,redincongruent2,redcontrol2, greencongruent2,greenincongruent2,greencontrol2, bluecongruent2,blueincongruent2,bluecontrol2,
purplecongruent2,purpleincongruent2,purplecontrol2);2=noreplace(trial.intrialpart1)]
</block>
<block part1out>
/ onblockbegin = [
list.latencies.reset();
list.latencies_congruent.reset();
list.latencies_control.reset();
list.latencies_incongruent.reset();
list.responses.reset();
list.responses_congruent.reset();
list.responses_control.reset();
list.responses_incongruent.reset();
]
/ trials = [1=noreplace(redcongruent2,redincongruent2,redcontrol2,
greencongruent2, greenincongruent2,greencontrol2,
bluecongruent2, blueincongruent2,bluecontrol2,
purplecongruent2, purpleincongruent2,purplecontrol2);2=noreplace(trial.outtrialpart1)]
</block>
<block part2in>
/ onblockbegin = [
list.latencies.reset();
list.latencies_congruent.reset();
list.latencies_control.reset();
list.latencies_incongruent.reset();
list.responses.reset();
list.responses_congruent.reset();
list.responses_control.reset();
list.responses_incongruent.reset();
]
/ trials = [1=noreplace(redcongruent2,redincongruent2,redcontrol2,
greencongruent2,greenincongruent2,greencontrol2,
bluecongruent2,blueincongruent2,bluecontrol2,
purplecongruent2,purpleincongruent2,purplecontrol2);2=noreplace(trial.intrialpart2)]
</block>
<block part2out>
/ onblockbegin = [
list.latencies.reset();
list.latencies_congruent.reset();
list.latencies_control.reset();
list.latencies_incongruent.reset();
list.responses.reset();
list.responses_congruent.reset();
list.responses_control.reset();
list.responses_incongruent.reset();
]
/ trials = [1=noreplace(redcongruent2,redincongruent2,redcontrol2,
greencongruent2, greenincongruent2,greencontrol2,
bluecongruent2, blueincongruent2,bluecontrol2,
purplecongruent2, purpleincongruent2,purplecontrol2);2=noreplace(trial.outtrialpart2)]
</block>
I have no problems with second set of trials(2=noreplace(trial.outtrialpart2/intrialpart2)), it works as I expect. However, I would like 1 set of trials to behave differently.
1=noreplace(redcongruent2,redincongruent2,redcontrol2,greencongruent2, greenincongruent2,greencontrol2, bluecongruent2, blueincongruent2,bluecontrol2, purplecongruent2, purpleincongruent2,purplecontrol2);
Basically I call these 4 blocks (part1in/part1out/part2out/part2in) 60 times in total (15 times each). And i would like that after running it 60 times, I had equal number of executed 1 trials:
[1=noreplace(redcongruent2,redincongruent2,redcontrol2,greencongruent2, greenincongruent2,greencontrol2,bluecongruent2, blueincongruent2,bluecontrol2, purplecongruent2, purpleincongruent2,purplecontrol2);
As you see there 12 of them , and I would really like to show each of them 5 times (60/12) in random order. Right now i can get 12 redcontrol, 3 redcongruent, etc. But I would like to have 5 times of each.
How can I achieve this? I have read and it seems like i can reset interval, but I am not sure whether I am right or not, same as I do not understand how to implement it.
I would be really appreciate your help.
Thank you very much!!