Millisecond Forums

pairing images and words for later test

https://forums.millisecond.com/Topic31214.aspx

By lir1995 - 3/30/2021

Hello, 

For my experiment, participants see images followed by words. Within a single block, participants switch back and forth between two images while seeing multiple different words (see attached screenshot for clarification if needed). 

My current code (see below) is set up such that the images are randomly assigned to each condition for each unique participant, and that the same image appears when switching back.

At the end of the experiment, I have a memory test. Right now, my code is set up so that it nicely brings back the image that was originally paired with the word (e.g., apple and bedroom in the screenshot) . However, I need the word to be presented with three total images for participants to choose which one they originally saw the word with:
1) the image that it was paired with. (already done) (e.g., apple and bedroom) 
2) the other image from the same block (e.g, apple and beach) 
3) another random image from a different block in the experiment (e.g., apple and dentist) 


I will have 8 blocks total, but I'm only including a small piece of code here as an example.

Is this possible within inquisit, and if so, how would I go about implementing this?

Thank you so much, and let me know if you need more clarification!




*************************************************
Creating Text and Picture Stimuli
***********************************************
<text pracnoun>
/ items = pracnoun
/ select = values.noun_itemnumber
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
</text>

<list noun_items>
/ poolsize = 6
</list>

<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/ 5 = "NOTEBOOK"
/ 6 = "LILY"
</item>

<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<list word>
</list>

<list scene>
/ selectionmode = list.word.currentindex
</list>

<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
/ pic_itemnumber = 1
/ noun_itemnumber = 1
</values>

<picture p>
/ items = scenes
/ select = values.pic_itemnumber
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<list pic_items>
/ poolsize = 4
/ selectionrate = always
/ resetinterval = 0
</list>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ ontrialbegin = [
  values.pic_itemnumber = values.p1;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial practice2>
/ ontrialbegin = [
  values.pic_itemnumber = values.p2;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image3>
/ ontrialbegin = [
  values.pic_itemnumber = values.p3;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ ontrialbegin = [
  values.pic_itemnumber = values.p4;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=list.pic_items.nextindex; values.p2=list.pic_items.nextindex;]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=list.pic_items.nextindex; values.p4=list.pic_items.nextindex;]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.noun_itemnumber=list.word.nextvalue; values.pic_itemnumber=list.scene.nextvalue;]
/ stimulustimes = [0 =p, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>

<block source_mem>
/ trials = [1-6 = source]
</block>

<expt >
/ blocks = [1 = practice; 2 = source_mem;
]
</expt>
By Dave - 3/30/2021

lir1995 - 3/30/2021
Hello, 

For my experiment, participants see images followed by words. Within a single block, participants switch back and forth between two images while seeing multiple different words (see attached screenshot for clarification if needed). 

My current code (see below) is set up such that the images are randomly assigned to each condition for each unique participant, and that the same image appears when switching back.

At the end of the experiment, I have a memory test. Right now, my code is set up so that it nicely brings back the image that was originally paired with the word (e.g., apple and bedroom in the screenshot) . However, I need the word to be presented with three total images for participants to choose which one they originally saw the word with:
1) the image that it was paired with. (already done) (e.g., apple and bedroom) 
2) the other image from the same block (e.g, apple and beach) 
3) another random image from a different block in the experiment (e.g., apple and dentist) 


I will have 8 blocks total, but I'm only including a small piece of code here as an example.

Is this possible within inquisit, and if so, how would I go about implementing this?

Thank you so much, and let me know if you need more clarification!




*************************************************
Creating Text and Picture Stimuli
***********************************************
<text pracnoun>
/ items = pracnoun
/ select = values.noun_itemnumber
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
</text>

<list noun_items>
/ poolsize = 6
</list>

<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/ 5 = "NOTEBOOK"
/ 6 = "LILY"
</item>

<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<list word>
</list>

<list scene>
/ selectionmode = list.word.currentindex
</list>

<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
/ pic_itemnumber = 1
/ noun_itemnumber = 1
</values>

<picture p>
/ items = scenes
/ select = values.pic_itemnumber
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<list pic_items>
/ poolsize = 4
/ selectionrate = always
/ resetinterval = 0
</list>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ ontrialbegin = [
  values.pic_itemnumber = values.p1;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial practice2>
/ ontrialbegin = [
  values.pic_itemnumber = values.p2;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image3>
/ ontrialbegin = [
  values.pic_itemnumber = values.p3;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ ontrialbegin = [
  values.pic_itemnumber = values.p4;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=list.pic_items.nextindex; values.p2=list.pic_items.nextindex;]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=list.pic_items.nextindex; values.p4=list.pic_items.nextindex;]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.noun_itemnumber=list.word.nextvalue; values.pic_itemnumber=list.scene.nextvalue;]
/ stimulustimes = [0 =p, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>

<block source_mem>
/ trials = [1-6 = source]
</block>

<expt >
/ blocks = [1 = practice; 2 = source_mem;
]
</expt>

If you know how to re-display one image paired to a word, you already know how to show a second image paired to that same word as well, so I'm not sure what's unclear there?
By lir1995 - 3/30/2021

Dave - 3/30/2021
lir1995 - 3/30/2021
Hello, 

For my experiment, participants see images followed by words. Within a single block, participants switch back and forth between two images while seeing multiple different words (see attached screenshot for clarification if needed). 

My current code (see below) is set up such that the images are randomly assigned to each condition for each unique participant, and that the same image appears when switching back.

At the end of the experiment, I have a memory test. Right now, my code is set up so that it nicely brings back the image that was originally paired with the word (e.g., apple and bedroom in the screenshot) . However, I need the word to be presented with three total images for participants to choose which one they originally saw the word with:
1) the image that it was paired with. (already done) (e.g., apple and bedroom) 
2) the other image from the same block (e.g, apple and beach) 
3) another random image from a different block in the experiment (e.g., apple and dentist) 


I will have 8 blocks total, but I'm only including a small piece of code here as an example.

Is this possible within inquisit, and if so, how would I go about implementing this?

Thank you so much, and let me know if you need more clarification!




*************************************************
Creating Text and Picture Stimuli
***********************************************
<text pracnoun>
/ items = pracnoun
/ select = values.noun_itemnumber
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
</text>

<list noun_items>
/ poolsize = 6
</list>

<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/ 5 = "NOTEBOOK"
/ 6 = "LILY"
</item>

<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<list word>
</list>

<list scene>
/ selectionmode = list.word.currentindex
</list>

<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
/ pic_itemnumber = 1
/ noun_itemnumber = 1
</values>

<picture p>
/ items = scenes
/ select = values.pic_itemnumber
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<list pic_items>
/ poolsize = 4
/ selectionrate = always
/ resetinterval = 0
</list>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ ontrialbegin = [
  values.pic_itemnumber = values.p1;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial practice2>
/ ontrialbegin = [
  values.pic_itemnumber = values.p2;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image3>
/ ontrialbegin = [
  values.pic_itemnumber = values.p3;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ ontrialbegin = [
  values.pic_itemnumber = values.p4;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=list.pic_items.nextindex; values.p2=list.pic_items.nextindex;]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=list.pic_items.nextindex; values.p4=list.pic_items.nextindex;]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.noun_itemnumber=list.word.nextvalue; values.pic_itemnumber=list.scene.nextvalue;]
/ stimulustimes = [0 =p, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>

<block source_mem>
/ trials = [1-6 = source]
</block>

<expt >
/ blocks = [1 = practice; 2 = source_mem;
]
</expt>

If you know how to re-display one image paired to a word, you already know how to show a second image paired to that same word as well, so I'm not sure what's unclear there?

The word is only paired with one image currently, I believe. So I am not sure how to get it paired with a second image.

Below, the items shown in these trials are only being paired with the images associated with p1, but I would also like them to be associated with p2, for example. If that makes sense. 

<trial practice>
/ ontrialbegin = [
values.pic_itemnumber = values.p1;
values.noun_itemnumber = list.noun_items.nextindex;
list.scene.appenditem(values.pic_itemnumber);
list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>
By Dave - 3/30/2021

lir1995 - 3/30/2021
Dave - 3/30/2021
lir1995 - 3/30/2021
Hello, 

For my experiment, participants see images followed by words. Within a single block, participants switch back and forth between two images while seeing multiple different words (see attached screenshot for clarification if needed). 

My current code (see below) is set up such that the images are randomly assigned to each condition for each unique participant, and that the same image appears when switching back.

At the end of the experiment, I have a memory test. Right now, my code is set up so that it nicely brings back the image that was originally paired with the word (e.g., apple and bedroom in the screenshot) . However, I need the word to be presented with three total images for participants to choose which one they originally saw the word with:
1) the image that it was paired with. (already done) (e.g., apple and bedroom) 
2) the other image from the same block (e.g, apple and beach) 
3) another random image from a different block in the experiment (e.g., apple and dentist) 


I will have 8 blocks total, but I'm only including a small piece of code here as an example.

Is this possible within inquisit, and if so, how would I go about implementing this?

Thank you so much, and let me know if you need more clarification!




*************************************************
Creating Text and Picture Stimuli
***********************************************
<text pracnoun>
/ items = pracnoun
/ select = values.noun_itemnumber
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
</text>

<list noun_items>
/ poolsize = 6
</list>

<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/ 5 = "NOTEBOOK"
/ 6 = "LILY"
</item>

<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<list word>
</list>

<list scene>
/ selectionmode = list.word.currentindex
</list>

<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
/ pic_itemnumber = 1
/ noun_itemnumber = 1
</values>

<picture p>
/ items = scenes
/ select = values.pic_itemnumber
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<list pic_items>
/ poolsize = 4
/ selectionrate = always
/ resetinterval = 0
</list>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ ontrialbegin = [
  values.pic_itemnumber = values.p1;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial practice2>
/ ontrialbegin = [
  values.pic_itemnumber = values.p2;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image3>
/ ontrialbegin = [
  values.pic_itemnumber = values.p3;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ ontrialbegin = [
  values.pic_itemnumber = values.p4;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=list.pic_items.nextindex; values.p2=list.pic_items.nextindex;]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=list.pic_items.nextindex; values.p4=list.pic_items.nextindex;]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.noun_itemnumber=list.word.nextvalue; values.pic_itemnumber=list.scene.nextvalue;]
/ stimulustimes = [0 =p, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>

<block source_mem>
/ trials = [1-6 = source]
</block>

<expt >
/ blocks = [1 = practice; 2 = source_mem;
]
</expt>

If you know how to re-display one image paired to a word, you already know how to show a second image paired to that same word as well, so I'm not sure what's unclear there?

The word is only paired with one image currently, I believe. So I am not sure how to get it paired with a second image.

Below, the items shown in these trials are only being paired with the images associated with p1, but I would also like them to be associated with p2, for example. If that makes sense. 

<trial practice>
/ ontrialbegin = [
values.pic_itemnumber = values.p1;
values.noun_itemnumber = list.noun_items.nextindex;
list.scene.appenditem(values.pic_itemnumber);
list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>

Per

<trial practice>
/ ontrialbegin = [
values.pic_itemnumber = values.p1;
values.noun_itemnumber = list.noun_items.nextindex;
list.scene.appenditem(values.pic_itemnumber);
list.word.appenditem(values.noun_itemnumber);
]
...
</trial>

you know that the item from the same block *not* shown with the noun is values.p2. So put that in another list paired to the noun, in the exact same way the image shown *with* the noun is put in a list.
By Dave - 3/30/2021

Dave - 3/30/2021
lir1995 - 3/30/2021
Dave - 3/30/2021
lir1995 - 3/30/2021
Hello, 

For my experiment, participants see images followed by words. Within a single block, participants switch back and forth between two images while seeing multiple different words (see attached screenshot for clarification if needed). 

My current code (see below) is set up such that the images are randomly assigned to each condition for each unique participant, and that the same image appears when switching back.

At the end of the experiment, I have a memory test. Right now, my code is set up so that it nicely brings back the image that was originally paired with the word (e.g., apple and bedroom in the screenshot) . However, I need the word to be presented with three total images for participants to choose which one they originally saw the word with:
1) the image that it was paired with. (already done) (e.g., apple and bedroom) 
2) the other image from the same block (e.g, apple and beach) 
3) another random image from a different block in the experiment (e.g., apple and dentist) 


I will have 8 blocks total, but I'm only including a small piece of code here as an example.

Is this possible within inquisit, and if so, how would I go about implementing this?

Thank you so much, and let me know if you need more clarification!




*************************************************
Creating Text and Picture Stimuli
***********************************************
<text pracnoun>
/ items = pracnoun
/ select = values.noun_itemnumber
/ position = (50,50)
/ fontstyle = ("Arial", 25pt)
/ erase = false
</text>

<list noun_items>
/ poolsize = 6
</list>

<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/ 5 = "NOTEBOOK"
/ 6 = "LILY"
</item>

<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<list word>
</list>

<list scene>
/ selectionmode = list.word.currentindex
</list>

<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
/ pic_itemnumber = 1
/ noun_itemnumber = 1
</values>

<picture p>
/ items = scenes
/ select = values.pic_itemnumber
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<list pic_items>
/ poolsize = 4
/ selectionrate = always
/ resetinterval = 0
</list>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ ontrialbegin = [
  values.pic_itemnumber = values.p1;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial practice2>
/ ontrialbegin = [
  values.pic_itemnumber = values.p2;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image3>
/ ontrialbegin = [
  values.pic_itemnumber = values.p3;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial image4>
/ ontrialbegin = [
  values.pic_itemnumber = values.p4;
  values.noun_itemnumber = list.noun_items.nextindex;
  list.scene.appenditem(values.pic_itemnumber);
  list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=list.pic_items.nextindex; values.p2=list.pic_items.nextindex;]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>


<block mid_same>
/ onblockbegin = [values.p3=list.pic_items.nextindex; values.p4=list.pic_items.nextindex;]
/ trials = [1-4 = image3; 5-8 = image4; 9-12 = image3; 13-16 = image4]
</block>

<trial source>
/ ontrialbegin = [values.noun_itemnumber=list.word.nextvalue; values.pic_itemnumber=list.scene.nextvalue;]
/ stimulustimes = [0 =p, pracnoun]
/ validresponse = ("m", "n")
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>

<block source_mem>
/ trials = [1-6 = source]
</block>

<expt >
/ blocks = [1 = practice; 2 = source_mem;
]
</expt>

If you know how to re-display one image paired to a word, you already know how to show a second image paired to that same word as well, so I'm not sure what's unclear there?

The word is only paired with one image currently, I believe. So I am not sure how to get it paired with a second image.

Below, the items shown in these trials are only being paired with the images associated with p1, but I would also like them to be associated with p2, for example. If that makes sense. 

<trial practice>
/ ontrialbegin = [
values.pic_itemnumber = values.p1;
values.noun_itemnumber = list.noun_items.nextindex;
list.scene.appenditem(values.pic_itemnumber);
list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>

Per

<trial practice>
/ ontrialbegin = [
values.pic_itemnumber = values.p1;
values.noun_itemnumber = list.noun_items.nextindex;
list.scene.appenditem(values.pic_itemnumber);
list.word.appenditem(values.noun_itemnumber);
]
...
</trial>

you know that the item from the same block *not* shown with the noun is values.p2. So put that in another list paired to the noun, in the exact same way the image shown *with* the noun is put in a list.

It's really all just the exact same things you're already doing, just extend it to more images.

*************************************************
Creating Text and Picture Stimuli
***********************************************
<text pracnoun>
/ items = pracnoun
/ select = values.noun_itemnumber
/ position = (50,20)
/ fontstyle = ("Arial", 25pt)
/ erase = false
</text>

<list noun_items>
/ poolsize = 6
</list>

<item pracnoun>
/ 1 = "SCOOTER"
/ 2 = "CUPCAKE"
/ 3 = "TRUMPET"
/ 4 = "ZEBRA"
/ 5 = "NOTEBOOK"
/ 6 = "LILY"
</item>

<item scenes>
/1 = "bedroom.jpg"
/2 = "library_aisle10.jpg"
/3 = "office.jpg"
/4 = "dentist1.jpg"
</item>

<list word>
</list>

<list paired_scene>
/ selectionmode = list.word.currentindex
</list>

<list unpaired_scene>
/ selectionmode = list.word.currentindex
</list>

<list unrelated_scene>
/ items = (1,2,3,4)
/ not = (values.pairedpic_itemnumber)
/ not = (values.unpairedpic_itemnumber)
/ replace = true
/ selectionrate = always
</list>

<list xpos>
/ items = (20%, 50%, 80%)
/ selectionrate = always
</list>


<values>
/ p1 = 0
/ p2 = 0
/ p3 = 0
/ p4 = 0
/ pic_itemnumber = 1
/ pairedpic_itemnumber = 1
/ unpairedpic_itemnumber = 1
/ unrelatedpic_itemnumber = 1
/ noun_itemnumber = 1
/ paired_x = 0%
/ unpaired_x = 0%
/ unrelated_x = 0%
</values>

<picture p>
/ items = scenes
/ select = values.pic_itemnumber
/ position = (50%, 50%)
/ size = (60%, 60%)
</picture>

<picture pairedpic>
/ items = scenes
/ select = values.pairedpic_itemnumber
/ hposition = values.paired_x
/ vposition = 50%
/ size = (30%, 30%)
</picture>

<picture unpairedpic>
/ items = scenes
/ select = values.unpairedpic_itemnumber
/ hposition = values.unpaired_x
/ vposition = 50%
/ size = (30%, 30%)
</picture>

<picture unrelatedpic>
/ items = scenes
/ select = values.unrelatedpic_itemnumber
/ hposition = values.unrelated_x
/ vposition = 50%
/ size = (30%, 30%)
</picture>

<list pic_items>
/ poolsize = 4
/ selectionrate = always
/ resetinterval = 0
</list>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>


<text belong>
/ items = ("Yes")
/ position = (70%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


<text nobelong>
/ items = ("No")
/ position = (30%, 80%)
/ size = (30%, 5%)
/ hjustify = center
/ vjustify = center
/ fontstyle = ("Arial", 18pt)
/ txbgcolor = white
/ erase = false
</text>


*************************************************
Creating Trials
*************************************************

<trial practice>
/ ontrialbegin = [
values.pic_itemnumber = values.p1;
values.noun_itemnumber = list.noun_items.nextindex;
list.paired_scene.appenditem(values.pic_itemnumber);
list.unpaired_scene.appenditem(values.p2);
list.word.appenditem(values.noun_itemnumber);
]
/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


<trial practice2>
/ ontrialbegin = [
values.pic_itemnumber = values.p2;
values.noun_itemnumber = list.noun_items.nextindex;
list.paired_scene.appenditem(values.pic_itemnumber);
list.unpaired_scene.appenditem(values.p1);
list.word.appenditem(values.noun_itemnumber);
]

/ stimulustimes = [0 =p; 1000 = blank; 1500 = pracnoun, belong, nobelong; 4000 = blank]
/ validresponse = ("n","m")
/ posttrialpause = 1000
/ trialduration = 5000
/ responseinterrupt = frames
/ beginresponsetime = 0
/ inputdevice = keyboard
</trial>


*************************************************
Creating Blocks
*************************************************

<block practice>
/ onblockbegin = [values.p1=list.pic_items.nextindex; values.p2=list.pic_items.nextindex;]
/ trials = [1-2 = practice; 3-4 = practice2; 5-6 = practice]
</block>

<trial source>
/ ontrialbegin = [values.noun_itemnumber=list.word.nextvalue;
    values.pairedpic_itemnumber=list.paired_scene.nextvalue;
    values.unpairedpic_itemnumber=list.unpaired_scene.nextvalue;
    values.unrelatedpic_itemnumber = list.unrelated_scene.nextvalue;
    values.paired_x = list.xpos.nextvalue;
    values.unpaired_x = list.xpos.nextvalue;
    values.unrelated_x = list.xpos.nextvalue;
]
/ stimulustimes = [0 =clearscreen, pairedpic, unpairedpic, unrelatedpic, pracnoun]
/ validresponse = (pairedpic, unpairedpic, unrelatedpic)
/ correctresponse = (pairedpic)
/ inputdevice = mouse
/ posttrialpause = 500
/ timeout = 5000
/ beginresponsetime = 0
</trial>

<block source_mem>
/ trials = [1-6 = source]
</block>

<expt >
/ blocks = [1 = practice; 2 = source_mem;
]
</expt>