Hello Leonie,
ok, create a code-component with three x and y-positions for each image you want to show and initialize it:
pasta1x = 0
pasta2x = 0
pasta3x = 0
pasta1y = 0
pasta2y = 0
pasta3y = 0
fruit1x = 0
fruit2x = 0
fruit3x = 0
fruit1y = 0
fruit2y = 0
fruit3y = 0
land1x = 0
land2x = 0
land3x = 0
land1y = 0
land2y = 0
land3y = 0
xpos = [-.3, 0, .3]
ypos = [-.25, 0, .25]
This goes in the Begin Experiment tab of the component. In the Begin Routine tab add the following code:
shuffle(ypos)
pasta1y = ypos[0]
pasta2y = ypos[0]
pasta3y = ypos[0]
fruit1y = ypos[1]
fruit2y = ypos[1]
fruit3y = ypos[1]
land1y = ypos[2]
land2y = ypos[2]
land3y = ypos[2]
shuffle(xpos)
pasta1x = xpos[0]
pasta2x = xpos[1]
pasta3x = xpos[2]
shuffle(xpos)
fruit1x = xpos[0]
fruit2x = xpos[1]
fruit3x = xpos[2]
shuffle(xpos)
land1x = xpos[0]
land2x = xpos[1]
land3x = xpos[2]
I shuffle the x-position three times. This prevent clustering of positions across categories, all images1 are on position 0, all images2 are on position 2 aso…
If you want to save the positions, add the following code to the End routine tab:
thisExp.addData("fruit1x", fruit1x)
thisExp.addData("fruit1y", fruit1y)
thisExp.addData("fruit2x", fruit2x)
thisExp.addData("fruit2x", fruit2y)
thisExp.addData("fruit3x", fruit3x)
thisExp.addData("fruit3y", fruit3y)
thisExp.addData("pasta1x", pasta1x)
thisExp.addData("pasta1y", pasta1y)
thisExp.addData("pasta2x", pasta2x)
thisExp.addData("pasta2y", pasta2y)
thisExp.addData("pasta3x", pasta3x)
thisExp.addData("pasta3x", pasta3y)
thisExp.addData("land1x", land1x)
thisExp.addData("land1y", land1y)
thisExp.addData("land2x", land2x)
thisExp.addData("land2y", land2y)
thisExp.addData("land3x", land3x)
thisExp.addData("land3y", land3y)
Now, create nine image-components (fruit1, fruit2, fruit2, pasta1 aso.), one for each image. Change the location property of each image-component (e.g. fruit1; pasta1) to get a unique position (e.g. fruit1x, fruit1y; pasta1x, pasta1y respectively) and set it to set every repeat.

Best wishes Jens