+x
You have to do something like this:
<values>
/ a_blockcount = 0
/ b_blockcount = 0
/ c_blockcount = 0
</values>
<expt>
/ blocks = [1-3 = noreplace(block.a, block.b, block.c)]
</expt>
<block a>
/ branch = [
//select a random sub-block
list.a_sub.nextvalue;
]
</block>
// three "sub-blocks"
<list a_sub>
/ items = (block.a1, block.a2, block.a3)
</list>
<block a1>
/ onblockbegin = [
values.a_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.a_blockcount < 3) {
list.a_sub.nextvalue;
}
]
</block>
<block a2>
/ onblockbegin = [
values.a_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.a_blockcount < 3) {
list.a_sub.nextvalue;
}
]
</block>
<block a3>
/ onblockbegin = [
values.a_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.a_blockcount < 3) {
list.a_sub.nextvalue;
}
]
</block>
<block b>
/ branch = [
//select a random sub-block
list.b_sub.nextvalue;
]
</block>
// three "sub-blocks"
<list b_sub>
/ items = (block.b1, block.b2, block.b3)
</list>
<block b1>
/ onblockbegin = [
values.b_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.b_blockcount < 3) {
list.b_sub.nextvalue;
}
]
</block>
<block b2>
/ onblockbegin = [
values.b_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.b_blockcount < 3) {
list.b_sub.nextvalue;
}
]
</block>
<block b3>
/ onblockbegin = [
values.b_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.b_blockcount < 3) {
list.b_sub.nextvalue;
}
]
</block>
<block c>
/ branch = [
//select a random sub-block
list.c_sub.nextvalue;
]
</block>
// three "sub-blocks"
<list c_sub>
/ items = (block.c1, block.c2, block.c3)
</list>
<block c1>
/ onblockbegin = [
values.c_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.c_blockcount < 3) {
list.c_sub.nextvalue;
}
]
</block>
<block c2>
/ onblockbegin = [
values.c_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.c_blockcount < 3) {
list.c_sub.nextvalue;
}
]
</block>
<block c3>
/ onblockbegin = [
values.c_blockcount += 1;
]
/ trials = [1=mytrial]
/ branch = [
// if we stil have further sub-blocks to run, select the next one at random
if (values.c_blockcount < 3) {
list.c_sub.nextvalue;
}
]
</block>
<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>
<text mytext>
/ items = ("This is block <%script.currentblock%>.")
</text>