PsychoPy version: 2024.2.1
Standard Standalone? : yes
Hi there,I am using corsi task from Pavlovia. I find out that there is 0.5s for each block to present. But, I want to add 1s between each block being presented. It is to say, 0.5s for each block to flash and 1s between each block flash.
Here is the begin routine:
Initialize variables if they don’t exist (only once, at the very beginning)
if ‘incorrect_count’ not in expInfo:
expInfo[‘incorrect_count’] = 0 # Initialize the incorrect answer counter
if ‘trial_count’ not in expInfo:
expInfo[‘trial_count’] = 0 # Initialize the trial counter
if ‘nBlocks’ not in expInfo:
expInfo[‘nBlocks’] = 3 # Start with 3 blocks by default
Reset visibility of all blocks and prepare new ones for this trial
blocks = [blk1_3, blk2_3, blk3_3, blk4_3, blk5_3, blk6_3, blk7_3, blk8_3, blk9_3]
respond_blocks = [blk1, blk2, blk3, blk4, blk5, blk6, blk7, blk8, blk9]
block_order =
correct_order =
respond_block_order =
make sure nBlocks woudn’t exceed blocks length
if nBlocks > len(blocks):
nBlocks = len(blocks)
Prepare blocks based on the current nBlocks
for block in range(expInfo[‘nBlocks’]):
blocks[block].setColor(‘white’)
respond_blocks[block].setColor(‘white’)
correct_order.append(respond_blocks[block].name)
block_order.append(blocks[block])
respond_block_order.append(respond_blocks[block])
Randomize the positions for the blocks
xys = [[0.25625, 0.0975], [0.0675, 0.07375], [-0.09875, 0.065], [-0.26625, 0.235], [0.22, 0.2425], [0.16625, 0.3825], [-0.18625, 0.41125], [-0.01875, 0.235], [-0.3575, -0.05625], [-0.12125, -0.12625], [0.05875, -0.0575], [0.19375, -0.17125], [0.30125, -0.0175], [0.4125, -0.1325], [0.365, -0.27625], [-0.01125, -0.295], [-0.285, -0.27125], [-0.4075, 0.11875], [-0.485, 0.34625], [0.4625, 0.35875], [0.45375, 0.175], [0.54, 0.03625], [0.62875, -0.1825], [0.57875, -0.31375], [-0.45875, -0.3], [-0.55125, -0.13375], [-0.6025, 0.0725], [-0.675, 0.29875], [-0.68625, -0.225], [0.03125, -0.41], [0.1925, -0.295], [-0.16125, -0.28], [-0.24625, 0.04375], [-0.0225, 0.395], [0.28875, 0.39875], [0.6375, 0.27375], [-0.35125, 0.36625]]
shuffle(xys)
positions =
for count, block in enumerate(blocks):
block.setPos([xys[count][0], xys[count][1]])
respond_blocks[count].setPos([xys[count][0], xys[count][1]])
positions.append(xys[count])
Save the positions used in this trial
thisExp.addData(‘positions’, positions)
Debugging output to track the progress
print(f"Trial Count: {expInfo[‘trial_count’]}, Incorrect Count: {expInfo[‘incorrect_count’]}, nBlocks: {expInfo[‘nBlocks’]}")
I am a beginner in coding field, so any suggestions will be very much appreciated!