Millisecond Forums

Is it possible to refactor this test using 1 trial with item lists?

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

By johan.16 - 3/24/2023

Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw
By Dave - 3/24/2023

johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.
By johan.16 - 3/27/2023

Dave - 3/24/2023
johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.

Some irrelevant stimuli have been removed to make the test clutter-free. I'm expanding on what I mentioned before.
You can see here, that in some of the item lists, there is no response. Example: /1 = " ", while some other items have words in them like /2 = "e". This is dependent on the letter/digraph displayed because there are different options for each letter/digraph. The problem is that one letter might have words in the box that is considered a correct response, while some don't have any words at all. So how can that be recorded in a single trial using lists/counters? Is it possible to accommodate these different numbers of responses using a single trial? Or does it have to be done manually with many trials with its own respective letter/digraph?

Hopefully, the code block below can make a bit more sense. Thank you.
------------------------------------------------------------------------------------------------------
<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-6 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Digraph_Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen; 20= prompt1_Digraph, prompt2, prompt3, continue]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / validresponse = (wrong, name, word, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / responsetrial = (name, Digraph_Trial_b)
    / responsetrial = (word, Digraph_Trial_b)
    / responsetrial = (spanish, Digraph_Trial_b)
    / responsetrial = (name_Digraph, Digraph_Trial_b)
    / responsetrial = (word_Digraph, Digraph_Trial_b)
    / responsetrial = (spanish_Digraph, Digraph_Trial_b)
    / stimulustimes = [1= Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>


<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>

------------------------------------------------------------------------------------------------------




By Dave - 3/27/2023

johan.16 - 3/27/2023
Dave - 3/24/2023
johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.

Some irrelevant stimuli have been removed to make the test clutter-free. I'm expanding on what I mentioned before.
You can see here, that in some of the item lists, there is no response. Example: /1 = " ", while some other items have words in them like /2 = "e". This is dependent on the letter/digraph displayed because there are different options for each letter/digraph. The problem is that one letter might have words in the box that is considered a correct response, while some don't have any words at all. So how can that be recorded in a single trial using lists/counters? Is it possible to accommodate these different numbers of responses using a single trial? Or does it have to be done manually with many trials with its own respective letter/digraph?

Hopefully, the code block below can make a bit more sense. Thank you.
------------------------------------------------------------------------------------------------------
<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-6 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Digraph_Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen; 20= prompt1_Digraph, prompt2, prompt3, continue]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / validresponse = (wrong, name, word, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / responsetrial = (name, Digraph_Trial_b)
    / responsetrial = (word, Digraph_Trial_b)
    / responsetrial = (spanish, Digraph_Trial_b)
    / responsetrial = (name_Digraph, Digraph_Trial_b)
    / responsetrial = (word_Digraph, Digraph_Trial_b)
    / responsetrial = (spanish_Digraph, Digraph_Trial_b)
    / stimulustimes = [1= Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>


<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>

------------------------------------------------------------------------------------------------------





Could you please provide code that can actually be parsed error-free? The code relies on images, which you have not provided. There are also a number of elements in the code, such as the "continue" element, which are not defined anywhere in what you provided.
By johan.16 - 3/27/2023

Dave - 3/27/2023
johan.16 - 3/27/2023
Dave - 3/24/2023
johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.

Some irrelevant stimuli have been removed to make the test clutter-free. I'm expanding on what I mentioned before.
You can see here, that in some of the item lists, there is no response. Example: /1 = " ", while some other items have words in them like /2 = "e". This is dependent on the letter/digraph displayed because there are different options for each letter/digraph. The problem is that one letter might have words in the box that is considered a correct response, while some don't have any words at all. So how can that be recorded in a single trial using lists/counters? Is it possible to accommodate these different numbers of responses using a single trial? Or does it have to be done manually with many trials with its own respective letter/digraph?

Hopefully, the code block below can make a bit more sense. Thank you.
------------------------------------------------------------------------------------------------------
<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-6 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Digraph_Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen; 20= prompt1_Digraph, prompt2, prompt3, continue]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / validresponse = (wrong, name, word, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / responsetrial = (name, Digraph_Trial_b)
    / responsetrial = (word, Digraph_Trial_b)
    / responsetrial = (spanish, Digraph_Trial_b)
    / responsetrial = (name_Digraph, Digraph_Trial_b)
    / responsetrial = (word_Digraph, Digraph_Trial_b)
    / responsetrial = (spanish_Digraph, Digraph_Trial_b)
    / stimulustimes = [1= Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>


<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>

------------------------------------------------------------------------------------------------------





Could you please provide code that can actually be parsed error-free? The code relies on images, which you have not provided. There are also a number of elements in the code, such as the "continue" element, which are not defined anywhere in what you provided.

Sorry, please let me know if this works.

<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / responsetrial = (wrong, Trial_b)
    / validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / stimulustimes = [1= wrong, Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>

<shape erase_screen>
    / shape = rectangle
    / valign = center
    / halign = center
    / color = (255,255,255)
    / position = (50,50)
    / size = (100%,100%)
    </shape>
    
<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>
    
<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>





By Dave - 3/27/2023

johan.16 - 3/27/2023
Dave - 3/27/2023
johan.16 - 3/27/2023
Dave - 3/24/2023
johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.

Some irrelevant stimuli have been removed to make the test clutter-free. I'm expanding on what I mentioned before.
You can see here, that in some of the item lists, there is no response. Example: /1 = " ", while some other items have words in them like /2 = "e". This is dependent on the letter/digraph displayed because there are different options for each letter/digraph. The problem is that one letter might have words in the box that is considered a correct response, while some don't have any words at all. So how can that be recorded in a single trial using lists/counters? Is it possible to accommodate these different numbers of responses using a single trial? Or does it have to be done manually with many trials with its own respective letter/digraph?

Hopefully, the code block below can make a bit more sense. Thank you.
------------------------------------------------------------------------------------------------------
<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-6 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Digraph_Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen; 20= prompt1_Digraph, prompt2, prompt3, continue]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / validresponse = (wrong, name, word, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / responsetrial = (name, Digraph_Trial_b)
    / responsetrial = (word, Digraph_Trial_b)
    / responsetrial = (spanish, Digraph_Trial_b)
    / responsetrial = (name_Digraph, Digraph_Trial_b)
    / responsetrial = (word_Digraph, Digraph_Trial_b)
    / responsetrial = (spanish_Digraph, Digraph_Trial_b)
    / stimulustimes = [1= Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>


<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>

------------------------------------------------------------------------------------------------------





Could you please provide code that can actually be parsed error-free? The code relies on images, which you have not provided. There are also a number of elements in the code, such as the "continue" element, which are not defined anywhere in what you provided.

Sorry, please let me know if this works.

<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / responsetrial = (wrong, Trial_b)
    / validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / stimulustimes = [1= wrong, Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>

<shape erase_screen>
    / shape = rectangle
    / valign = center
    / halign = center
    / color = (255,255,255)
    / position = (50,50)
    / size = (100%,100%)
    </shape>
    
<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>
    
<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>






This should give you the general idea:

<values>
/ itemnumber = 1 // will hold the item number for the current round
</values>

// will hold all vaild response objects for the current trial (wrong is always valid)
<list validresponses>
/ items = ("wrong")
</list>
// will hold all correct response objects for the current trial
<list correctresponses>
</list>

<expt Update>
/ blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ ontrialbegin = [
        // pick an item number for this round
    values.itemnumber = list.Listpick.nextvalue;
]
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
/ ontrialbegin = [
    // reset the trial's stimulus presentation sequence
    trial.Trial_b.resetstimulusframes();
    // reset the lists of valid & correct responses
    list.validresponses.reset();
    list.correctresponses.reset();
    // check which response options are appicable to the selected item and display the applicable ones
    // if the item isn't empty
    if (item.Digraph_correct_a1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_a1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_a1");
        list.correctresponses.appenditem("Digraph_correct_a1");
    };
    if (item.Digraph_correct_a2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_a2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_a2");
        list.correctresponses.appenditem("Digraph_correct_a2");
    };
    if (item.Digraph_correct_b1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_b1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_b1");
        list.correctresponses.appenditem("Digraph_correct_b1");
    };
    if (item.Digraph_correct_b2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_b2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_b2");
        list.correctresponses.appenditem("Digraph_correct_b2");
    };
    if (item.Digraph_low_freq_a1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_a1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_a1");
        list.correctresponses.appenditem("Digraph_low_freq_a1");
    };
    if (item.Digraph_low_freq_a2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_a2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_a2");
        list.correctresponses.appenditem("Digraph_low_freq_a2");
    };
    if (item.Digraph_low_freq_b1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_b1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_b1");
        list.correctresponses.appenditem("Digraph_low_freq_b1");
    };
    if (item.Digraph_low_freq_b2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_b2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_b2");
        list.correctresponses.appenditem("Digraph_low_freq_b2");
    };
    if (item.Digraph_low_freq_c1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_c1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_c1");
        list.correctresponses.appenditem("Digraph_low_freq_c1");
    };
    if (item.Digraph_low_freq_c2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_c2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_c2");
        list.correctresponses.appenditem("Digraph_low_freq_c2");
    };
]

/ inputdevice = mouse
/ correctmessage = false
/ errormessage = false
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ responsetrial = (wrong, Trial_b)
/ validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
/ isvalidresponse = [
    // check whether selected response options is among the valid ones for this trial
    // (this is necessary because even objects that are not on-screen currently can serve as response options)
    list.validresponses.indexof(trial.Trial_b.response) != -1;
]
/ correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
/ iscorrectresponse = [
    // check whether selected response options is among the correct ones for this trial
    // (this is necessary because even objects that are not on-screen currently can serve as response options)
    list.correctresponses.indexof(trial.Trial_b.response) != -1;
]
/ stimulustimes = [0 = clearscreen, wrong, Digraph_Letter_pic]

</trial>

<shape erase_screen>
/ shape = rectangle
/ valign = center
/ halign = center
/ color = (255,255,255)
/ position = (50,50)
/ size = (100%,100%)
</shape>

<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>

<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = values.itemnumber
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = values.itemnumber
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>

<list Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</list>

By johan.16 - 4/12/2023

Dave - 3/27/2023
johan.16 - 3/27/2023
Dave - 3/27/2023
johan.16 - 3/27/2023
Dave - 3/24/2023
johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.

Some irrelevant stimuli have been removed to make the test clutter-free. I'm expanding on what I mentioned before.
You can see here, that in some of the item lists, there is no response. Example: /1 = " ", while some other items have words in them like /2 = "e". This is dependent on the letter/digraph displayed because there are different options for each letter/digraph. The problem is that one letter might have words in the box that is considered a correct response, while some don't have any words at all. So how can that be recorded in a single trial using lists/counters? Is it possible to accommodate these different numbers of responses using a single trial? Or does it have to be done manually with many trials with its own respective letter/digraph?

Hopefully, the code block below can make a bit more sense. Thank you.
------------------------------------------------------------------------------------------------------
<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-6 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Digraph_Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen; 20= prompt1_Digraph, prompt2, prompt3, continue]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / validresponse = (wrong, name, word, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / responsetrial = (name, Digraph_Trial_b)
    / responsetrial = (word, Digraph_Trial_b)
    / responsetrial = (spanish, Digraph_Trial_b)
    / responsetrial = (name_Digraph, Digraph_Trial_b)
    / responsetrial = (word_Digraph, Digraph_Trial_b)
    / responsetrial = (spanish_Digraph, Digraph_Trial_b)
    / stimulustimes = [1= Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>


<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>

------------------------------------------------------------------------------------------------------





Could you please provide code that can actually be parsed error-free? The code relies on images, which you have not provided. There are also a number of elements in the code, such as the "continue" element, which are not defined anywhere in what you provided.

Sorry, please let me know if this works.

<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / responsetrial = (wrong, Trial_b)
    / validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / stimulustimes = [1= wrong, Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>

<shape erase_screen>
    / shape = rectangle
    / valign = center
    / halign = center
    / color = (255,255,255)
    / position = (50,50)
    / size = (100%,100%)
    </shape>
    
<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>
    
<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>






This should give you the general idea:

<values>
/ itemnumber = 1 // will hold the item number for the current round
</values>

// will hold all vaild response objects for the current trial (wrong is always valid)
<list validresponses>
/ items = ("wrong")
</list>
// will hold all correct response objects for the current trial
<list correctresponses>
</list>

<expt Update>
/ blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ ontrialbegin = [
        // pick an item number for this round
    values.itemnumber = list.Listpick.nextvalue;
]
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
/ ontrialbegin = [
    // reset the trial's stimulus presentation sequence
    trial.Trial_b.resetstimulusframes();
    // reset the lists of valid & correct responses
    list.validresponses.reset();
    list.correctresponses.reset();
    // check which response options are appicable to the selected item and display the applicable ones
    // if the item isn't empty
    if (item.Digraph_correct_a1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_a1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_a1");
        list.correctresponses.appenditem("Digraph_correct_a1");
    };
    if (item.Digraph_correct_a2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_a2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_a2");
        list.correctresponses.appenditem("Digraph_correct_a2");
    };
    if (item.Digraph_correct_b1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_b1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_b1");
        list.correctresponses.appenditem("Digraph_correct_b1");
    };
    if (item.Digraph_correct_b2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_b2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_b2");
        list.correctresponses.appenditem("Digraph_correct_b2");
    };
    if (item.Digraph_low_freq_a1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_a1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_a1");
        list.correctresponses.appenditem("Digraph_low_freq_a1");
    };
    if (item.Digraph_low_freq_a2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_a2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_a2");
        list.correctresponses.appenditem("Digraph_low_freq_a2");
    };
    if (item.Digraph_low_freq_b1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_b1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_b1");
        list.correctresponses.appenditem("Digraph_low_freq_b1");
    };
    if (item.Digraph_low_freq_b2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_b2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_b2");
        list.correctresponses.appenditem("Digraph_low_freq_b2");
    };
    if (item.Digraph_low_freq_c1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_c1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_c1");
        list.correctresponses.appenditem("Digraph_low_freq_c1");
    };
    if (item.Digraph_low_freq_c2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_c2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_c2");
        list.correctresponses.appenditem("Digraph_low_freq_c2");
    };
]

/ inputdevice = mouse
/ correctmessage = false
/ errormessage = false
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ responsetrial = (wrong, Trial_b)
/ validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
/ isvalidresponse = [
    // check whether selected response options is among the valid ones for this trial
    // (this is necessary because even objects that are not on-screen currently can serve as response options)
    list.validresponses.indexof(trial.Trial_b.response) != -1;
]
/ correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
/ iscorrectresponse = [
    // check whether selected response options is among the correct ones for this trial
    // (this is necessary because even objects that are not on-screen currently can serve as response options)
    list.correctresponses.indexof(trial.Trial_b.response) != -1;
]
/ stimulustimes = [0 = clearscreen, wrong, Digraph_Letter_pic]

</trial>

<shape erase_screen>
/ shape = rectangle
/ valign = center
/ halign = center
/ color = (255,255,255)
/ position = (50,50)
/ size = (100%,100%)
</shape>

<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>

<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = values.itemnumber
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = values.itemnumber
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>

<list Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</list>


Thank you! The test is working as expected with the implementation of lists. But I tried to add values to keep track of incorrect and correct responses.
Here values.total_correct increases by 1 for each correct response, and values.ceil_num_incorrect increases by 1 whenever the "wrong" stimuli is clicked. However, with the current implementation, clicking on "wrong" only increments it once. For further repetition of trials, clicking on "wrong" doesn't change the value anymore. How can that be fixed? I have attached the updated test file below. Thank you once again.
By Dave - 4/12/2023

johan.16 - 4/12/2023
Dave - 3/27/2023
johan.16 - 3/27/2023
Dave - 3/27/2023
johan.16 - 3/27/2023
Dave - 3/24/2023
johan.16 - 3/24/2023
Hello everyone. I am having trouble incorporating item/lists format for this Inquisit test.In this specific case, we have grey colored boxes with correct responses, and light yellow boxes with ‘low frequency’ correct responses. There is also a ‘wrong’ button to indicate an incorrect response. For each letter displayed, the amount of responses available may vary in both correct and low freq correct responses. For example, in the images attached below, the letter 'ck' has only one response while 'ey' has 4 responses. Some of the boxes are empty because there are no responses for the associated letter.

So if we use item lists, one of the item elements would be an empty string /1 = " " if there are no correct responses. But all the boxes are considered correct responses.



Is it possible to accommodate these different numbers of responses using a single trial? The number of correct and low-frequency responses varies item by item, and we're trying to avoid coding 100 individually scripted trials.

@jmwotw

This should be possible, but for concrete advice you'll have to provide some actual code. I have no idea what you have and how you've set it up based an a bunch of images.

Some irrelevant stimuli have been removed to make the test clutter-free. I'm expanding on what I mentioned before.
You can see here, that in some of the item lists, there is no response. Example: /1 = " ", while some other items have words in them like /2 = "e". This is dependent on the letter/digraph displayed because there are different options for each letter/digraph. The problem is that one letter might have words in the box that is considered a correct response, while some don't have any words at all. So how can that be recorded in a single trial using lists/counters? Is it possible to accommodate these different numbers of responses using a single trial? Or does it have to be done manually with many trials with its own respective letter/digraph?

Hopefully, the code block below can make a bit more sense. Thank you.
------------------------------------------------------------------------------------------------------
<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-6 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Digraph_Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen; 20= prompt1_Digraph, prompt2, prompt3, continue]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / validresponse = (wrong, name, word, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / responsetrial = (name, Digraph_Trial_b)
    / responsetrial = (word, Digraph_Trial_b)
    / responsetrial = (spanish, Digraph_Trial_b)
    / responsetrial = (name_Digraph, Digraph_Trial_b)
    / responsetrial = (word_Digraph, Digraph_Trial_b)
    / responsetrial = (spanish_Digraph, Digraph_Trial_b)
    / stimulustimes = [1= Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>


<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>

------------------------------------------------------------------------------------------------------





Could you please provide code that can actually be parsed error-free? The code relies on images, which you have not provided. There are also a number of elements in the code, such as the "continue" element, which are not defined anywhere in what you provided.

Sorry, please let me know if this works.

<expt Update>
    / blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
    / inputdevice = mouse
    / correctmessage = false
    / errormessage = false
    / pretrialpause = 0
    / posttrialpause = 0
    / recorddata = true
    / responsetrial = (wrong, Trial_b)
    / validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
    / stimulustimes = [1= wrong, Digraph_Letter_pic, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2]
    
</trial>

<shape erase_screen>
    / shape = rectangle
    / valign = center
    / halign = center
    / color = (255,255,255)
    / position = (50,50)
    / size = (100%,100%)
    </shape>
    
<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>
    
<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = counter.Listpick
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = counter.Listpick
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = counter.Listpick
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = counter.Listpick
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>



<counter Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</counter>






This should give you the general idea:

<values>
/ itemnumber = 1 // will hold the item number for the current round
</values>

// will hold all vaild response objects for the current trial (wrong is always valid)
<list validresponses>
/ items = ("wrong")
</list>
// will hold all correct response objects for the current trial
<list correctresponses>
</list>

<expt Update>
/ blocks = [1 = general_block]
</expt>

<block general_block>
/ trials = [1-5 = Trial_a]
</block>

<trial Trial_a>
/ ontrialbegin = [
        // pick an item number for this round
    values.itemnumber = list.Listpick.nextvalue;
]
/ inputdevice = mouse
/ validresponse = (continue)
/ correctmessage = false
/ errormessage = false
/ correctresponse = (continue)
/ responsetrial = (continue, Trial_b)
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ stimulustimes = [1=erase_screen, continue;]
</trial>

<trial Trial_b>
/ ontrialbegin = [
    // reset the trial's stimulus presentation sequence
    trial.Trial_b.resetstimulusframes();
    // reset the lists of valid & correct responses
    list.validresponses.reset();
    list.correctresponses.reset();
    // check which response options are appicable to the selected item and display the applicable ones
    // if the item isn't empty
    if (item.Digraph_correct_a1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_a1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_a1");
        list.correctresponses.appenditem("Digraph_correct_a1");
    };
    if (item.Digraph_correct_a2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_a2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_a2");
        list.correctresponses.appenditem("Digraph_correct_a2");
    };
    if (item.Digraph_correct_b1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_b1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_b1");
        list.correctresponses.appenditem("Digraph_correct_b1");
    };
    if (item.Digraph_correct_b2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_correct_b2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_correct_b2");
        list.correctresponses.appenditem("Digraph_correct_b2");
    };
    if (item.Digraph_low_freq_a1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_a1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_a1");
        list.correctresponses.appenditem("Digraph_low_freq_a1");
    };
    if (item.Digraph_low_freq_a2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_a2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_a2");
        list.correctresponses.appenditem("Digraph_low_freq_a2");
    };
    if (item.Digraph_low_freq_b1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_b1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_b1");
        list.correctresponses.appenditem("Digraph_low_freq_b1");
    };
    if (item.Digraph_low_freq_b2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_b2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_b2");
        list.correctresponses.appenditem("Digraph_low_freq_b2");
    };
    if (item.Digraph_low_freq_c1.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_c1, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_c1");
        list.correctresponses.appenditem("Digraph_low_freq_c1");
    };
    if (item.Digraph_low_freq_c2.item(values.itemnumber) != " ") {
        // display the stimulus
        trial.Trial_b.insertstimulustime(text.Digraph_low_freq_c2, 0);
        // and add it to the lists of valid & correct responses
        list.validresponses.appenditem("Digraph_low_freq_c2");
        list.correctresponses.appenditem("Digraph_low_freq_c2");
    };
]

/ inputdevice = mouse
/ correctmessage = false
/ errormessage = false
/ pretrialpause = 0
/ posttrialpause = 0
/ recorddata = true
/ responsetrial = (wrong, Trial_b)
/ validresponse = (wrong, Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
/ isvalidresponse = [
    // check whether selected response options is among the valid ones for this trial
    // (this is necessary because even objects that are not on-screen currently can serve as response options)
    list.validresponses.indexof(trial.Trial_b.response) != -1;
]
/ correctresponse = (Digraph_correct_a1, Digraph_correct_a2, Digraph_correct_b1, Digraph_correct_b2, Digraph_low_freq_a1, Digraph_low_freq_a2, Digraph_low_freq_b1, Digraph_low_freq_b2, Digraph_low_freq_c1, Digraph_low_freq_c2)
/ iscorrectresponse = [
    // check whether selected response options is among the correct ones for this trial
    // (this is necessary because even objects that are not on-screen currently can serve as response options)
    list.correctresponses.indexof(trial.Trial_b.response) != -1;
]
/ stimulustimes = [0 = clearscreen, wrong, Digraph_Letter_pic]

</trial>

<shape erase_screen>
/ shape = rectangle
/ valign = center
/ halign = center
/ color = (255,255,255)
/ position = (50,50)
/ size = (100%,100%)
</shape>

<text wrong>
/ items = ("WRONG")
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ txbgcolor = (235,200,235)
/ size = (20%,8%)
/ txcolor = (0,0,0)
/ halign = center
/ vjustify= center
/ position = (25,5)
</text>

<text continue>
/ items = ("NEXT")
/ fontstyle = ("Arial", 60, false, false, false, false, 5, 0)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ vjustify = center
/ valign = center
/ halign = center
/ position = (25,65)
/ size = (20%,15%)
</text>

<text Digraph_correct_a1>
/ items = item.Digraph_correct_a1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,18)
</text>

<item Digraph_correct_a1>
/1 = "i"
/2 = "tS"
/3 = "k"
/4 = "dZ"
/5 = "g"
</item>


<text Digraph_correct_a2>
/ items = item.Digraph_correct_a2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,18)
</text>

<item Digraph_correct_a2>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<text Digraph_correct_b1>
/ items = item.Digraph_correct_b1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,18)
</text>

<item Digraph_correct_b1>
/1 = "eI"
/2 = "k"
/3 = " "
/4 = " "
/5 = "f"
</item>


<text Digraph_correct_b2>
/ items = item.Digraph_correct_b2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (200,200,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,18)
</text>

<item Digraph_correct_b2>
/1 = "survey"
/2 = "chord"
/3 = " "
/4 = " "
/5 = "cough"
</item>

<text Digraph_low_freq_a1>
/ items = item.Digraph_low_freq_a1
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,45)
</text>

<item Digraph_low_freq_a1>
/1 = "geyser"
/2 = "S"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_a2>
/ items = item.Digraph_low_freq_a2
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,45)
</text>

<item Digraph_low_freq_a2>
/1 = "al"
/2 = "machine"
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b1>
/ items = item.Digraph_low_freq_b1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (27,45)
</text>

<item Digraph_low_freq_b1>
/1 = "E"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_b2>
/ items = item.Digraph_low_freq_b2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (32,45)
</text>

<item Digraph_low_freq_b2>
/1 = "eyrie"
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c1>
/ items = item.Digraph_low_freq_c1
/ select = values.itemnumber
/ fontstyle = ("Ipa-samd Uclphon1 SILDoulosL", 50, false, false, false, false, 5, 2)
/ size = (5%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (2,57)
</text>

<item Digraph_low_freq_c1>
/1 = " "
/2 = " "
/3 = " "
/4 = " "
/5 = " "
</item>

<text Digraph_low_freq_c2>
/ items = item.Digraph_low_freq_c2
/ select = values.itemnumber
/ fontstyle = ("Arial", 40, false, false, false, false, 5, 0)
/ size = (16%,8%)
/ txbgcolor = (235,235,200)
/ txcolor = (0,0,0)
/ halign = left
/ vjustify= center
/ position = (7,57)
</text>

<item Digraph_low_freq_c2>
/1 = " "
/2 = " "
/3 = " "
/4 = "test"
/5 = " "
</item>

<text Digraph_Letter>
/ items = item.Digraph_Letter
/ select = values.itemnumber
/ fontstyle = ("ABCPrint", 30, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ size = (8%,8%)
/ txcolor = (200,200,200)
/ halign = left
/ vjustify= center
/ position = (4,5)
</text>

<item Digraph_Letter>
/1 = "ey"
/2 = "ch"
/3 = "ck"
/4 = "dg"
/5 = "gh"
</item>

<picture Digraph_Letter_pic>
/ items = item.Digraph_Letter_pic
/ select = values.itemnumber
/ valign = center
/ halign = center
/ position = (75,50)
/ size = (60%,60%)
/ erase = false
</picture>

<item Digraph_Letter_pic>
/1 = "pic1.jpg"
/2 = "pic2.jpg"
/3 = "pic3.jpg"
/4 = "pic4.jpg"
/5 = "pic5.jpg"
</item>

<list Listpick>
/ items = (1,2,3,4,5)
/ select = sequence
</list>


Thank you! The test is working as expected with the implementation of lists. But I tried to add values to keep track of incorrect and correct responses.
Here values.total_correct increases by 1 for each correct response, and values.ceil_num_incorrect increases by 1 whenever the "wrong" stimuli is clicked. However, with the current implementation, clicking on "wrong" only increments it once. For further repetition of trials, clicking on "wrong" doesn't change the value anymore. How can that be fixed? I have attached the updated test file below. Thank you once again.

What, please, is this part below supposed to do?

    / ontrialend = [if(trial.Trial_b.response == "Digraph_correct_a1"||"Digraph_correct_a2"|| "Digraph_correct_b1"|| "Digraph_correct_b2"|| "Digraph_correct_c1"||"Digraph_correct_c2"||"Digraph_correct_d1"|| "Digraph_correct_d2"||"Digraph_low_freq_a1"|| "Digraph_low_freq_a2"||"Digraph_low_freq_b1"||"Digraph_low_freq_b2"|| "Digraph_low_freq_c1"|| "Digraph_low_freq_c2" ) {
        values.total_correct += 1;
        values.item_count += 1;
        values.ceil_num_incorrect = 0;
        values.is_correct = 1;
    }]


Because, first,
(trial.Trial_b.response == "Digraph_correct_a1"||"Digraph_correct_a2"|| "Digraph_correct_b1"|| "Digraph_correct_b2"|| "Digraph_correct_c1"||"Digraph_correct_c2"||"Digraph_correct_d1"|| "Digraph_correct_d2"||"Digraph_low_freq_a1"|| "Digraph_low_freq_a2"||"Digraph_low_freq_b1"||"Digraph_low_freq_b2"|| "Digraph_low_freq_c1"|| "Digraph_low_freq_c2"


simply isn't correct syntax and wil always evaluate to true because of that.

That is also where your problem lies, because that is where you set values.ceil_num_incorrect back to zero in every single trial.