psychopy.org | Reference | Downloads | Github

Block randomisation

Hi,
I’m trying to make an experiment using the builder where I have made each block of my experiment as a seperate routine with loops around each of them and I need to randomise the order of the blocks, so that the order of the appearance of the block is different for each participant.
So, if i have block 1,2 and 3 as routine A, B and C, then for the first participant it may appear as A, B, C and to the second as B, C, A or any other order.

I tried to put a loop around the routines that I want to be randomised with the conditions file having the names of the individual excel file names of the smaller groups around each block and I also tried it without having a conditions file with the looptype just set to random. but both did not work. The blocks are not randomised and is appearing in the same sequence.

I’m attaching the images of the flow for reference.

Could you please help soon as my deadline is nearing.
Thanks so much.

You aren’t randomising which spreadsheet is attached to which block, are you?

Your outer loop should point to a spreadsheet with three columns and three rows. Use the column headers as nReps for your inner loops and each row and column should have a 1 and two 0s

Thank you so much! It worked perfectly!

just an addition to the above, I also have a sequence out of the smaller loops, one next to each routine. I will attach an image for reference.

If I use the above mentioned solution, the un-looped sequences (named “break”) which are in between the smaller looped routines are all playing first in a sequence, after which the smaller loops are getting randomised.
I need the break sequence to follow each block. Is there anyway to keep this constant while randomising the block routines?

Thanks so much.

Just put one copy of break to the right of all of your inner loops

But that is resulting in the break sequence appearing after every trial in the block. What I want is the break to play after one whole block.

Perhaps you misunderstood. I mean inside the outer loop but outside the inner loops. One copy of break in total.

Thank you! This worked :smiley: