+x+xHi! I hope all is well. I am here with a follow-up question about this task :)
Some of the images and some of the messages I am using are vertical versus horizontal and I am wondering if there is a simple enough way to link the item lists of the various stimuli so that in Trial c, where participants view their created combinations of images and messages, they could be linked such that if participants selected a vertical image, the vertical version of the message would be displayed on top of it in Trial c (I have vertical versions and horizontal versions created for all message overlays).
Example Block:
Trial a: Participant views images RM01, RL14, UM22, UL39
Trial b: Participant views messages MAX19, MIN28
Trial c: Participant sees the
horizontal version of message MIN28 overlaid on the image *because* they chose image UM22 (which happens to be horizontal) VERSUS participant sees the
vertical version of message MIN28 overlaid because they chose image RM01 (which is vertical).
I am thinking this might be pretty complicated, but if there is somewhere I can be directed to help me figure it out, that would be amazing! Please let me know if this isn't exactly clear.
Thank you in advance for any help!!!
Ashley
I cannot possibly answer this without the full code as well as all images, etc, the script requires to run.
I'm sorry about that! I didn't realize. I will organize and post the code and stimuli later.
I do have another (quick?) question though, if it is something that can be answered easily/without code.
I changed the script a bit so that two of the image categories are showing on one page (instead of all four) and so that presentation of the two image trials are randomized. I did this using lists and a master list, and all of that works great. One thing I cannot figure out how to do is to randomize the presentation order of the image and message trials (we decided we don't want the trials a,b,c to always go in that sequence - c always needs to come last, but a/a2 and b should be presented randomly.
Below is the relevant section of the code. I need list.triala (which is inclusive of trials a and a2, randomized) and list.trialb to be presented randomly, so that participants don't always see the images before the messages. I tried creating another master list and then randomizing those lists within the block, but that didn't work so I'm not even sure if that is something that can be done.
Any suggestions or help would be great, thank you!! Also, thank you again so much for the help with this earlier, everything else is working perfectly!! :)
Ashley
------------------------------------------------------------
<block creativetask>
/ trials = [1=generalinstructions; 2-81=list.master; 82 = endtask;]
</block>
<list master>
/ items = (surveypage.nextcombo,
list.triala.nextvalue, list.trialb.nextvalue, list.trialc.nextvalue)
/ selectionmode = sequence
</list>
<list triala>
/ items = (trial.a,trial.a2)
/ selectionmode = random
</list>
<list trialb>
/ items = (trial.b)
</list>
<list trialc>
/ items = (trial.c)
</list>
<trial a>
/ ontrialbegin = [
values.RL_x = list.left_right.nextvalue;
values.UL_x = list.left_right.nextvalue;
]
/ stimulustimes = [0=RL,UL,imageinstruction]
/ inputdevice = mouse
/ validresponse = (RL,UL)
/ ontrialend = [
values.selectedcategory = trial.a.response;
if (values.selectedcategory == "RL"){
values.selectedcategoryitem = picture.RL.currentitemnumber;
} else if (values.selectedcategory == "UL"){
values.selectedcategoryitem = picture.UL.currentitemnumber;
};
]
</trial>
<trial a2>
/ ontrialbegin = [
values.RM_x = list.left_right.nextvalue;
values.UM_x = list.left_right.nextvalue;
]
/ stimulustimes = [0==RM,UM,imageinstruction]
/ inputdevice = mouse
/ validresponse = (RM,UM)
/ ontrialend = [
values.selectedcategory = trial.a2.response;
if (values.selectedcategory == "RM"){
values.selectedcategoryitem = picture.RM.currentitemnumber;
} else if (values.selectedcategory == "UM"){
values.selectedcategoryitem = picture.UM.currentitemnumber;
};
]
</trial>
<trial b>
/ ontrialbegin = [
values.MAX_x = list.left_right.nextvalue;
values.MIN_x = list.left_right.nextvalue;
]
/ stimulustimes = [0=background1,background2,messageinstruction,MAX,MIN]
/ inputdevice = mouse
/ validresponse = (MAX,MIN)
/ ontrialend = [
values.selectedmessage = trial.b.response;
if (values.selectedmessage == "MAX"){
values.selectedmessageitem = picture.MAX.currentitemnumber;
} else if (values.selectedmessage == "MIN"){
values.selectedmessageitem = picture.MIN.currentitemnumber;
};
]
</trial>
<trial c>
/ ontrialbegin = [
if (values.selectedcategory == "RL"){
picture.category.item.1 = item.RL_items.item(values.selectedcategoryitem);
} else if (values.selectedcategory == "RM"){
picture.category.item.1 = item.RM_items.item(values.selectedcategoryitem);
} else if (values.selectedcategory == "UL"){
picture.category.item.1 = item.UL_items.item(values.selectedcategoryitem);
} else if (values.selectedcategory == "UM"){
picture.category.item.1 = item.UM_items.item(values.selectedcategoryitem);
};
if (values.selectedmessage == "MAX") {
picture.message.item.1 = item.MAX_items.item(values.selectedmessageitem);
} else if (values.selectedmessage == "MIN") {
picture.message.item.1 = item.MIN_items.item(values.selectedmessageitem);
};
]
/ stimulustimes = [0=background, category, message, comboinstruction]
/ inputdevice = mouse
/ validresponse = (lbuttondown)
</trial>