Millisecond Forums

correct response sequence

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

By sdubrow - 5/23/2016

Hello,


Hello,

I was wondering if it is possible to set up a sequence of correct responses for a trial type just as it is possible to specify a sequence of stimuli. Below are my trials where scenes1 and faces1 refers to a list of unique images (see below). There is a different correct response for each image. However, as far as I can tell, if I add a sequence of correct responses, it will treat all of them as correct. Is there a way to specify the order of correct responses?

Thanks in advance! 


<trial enc1>
/stimulustimes = [0=scenes1; 0=faces1; 2000=blank]
/ validresponse = ("a", "l")
/ correctresponse = ("a")
/ beginresponsetime = 0
/ trialduration = 2500
/ responseinterrupt = trial
</trial>

<item scenes1>

/1 = "sun_atflrrvztuwhyjsr.jpg"

/2 = "sun_bcnnnmofkferpazg.jpg"

/3 = "sun_aathwbmlobsaswup.jpg"

...

<item>
By Dave - 5/23/2016

Yes, you can do so using the <trial>'s /iscorrectresponse attribute and a <list> holding the respective "correct" keyboard scan codes.

See e.g.: https://www.millisecond.com/forums/FindPost15355.aspx
By sdubrow - 5/23/2016

Thanks! I am just having trouble getting the accuracy to be calculated correctly.  

The below will run but won't compute accuracy correctly whereas when I set selectionmode = trial.enc1.currentindex, it didn't run.

Please advise. 


<list answers1>

/ items = (30, 38, 38, 30, 38, 38, 30, 30, 30...)

/ selectionmode = list.answers1.currentindex

</list>


<trial enc1>

/ stimulustimes = [0=scenes1; 0=faces1; 2000=blank]

/ validresponse = ("a", "l")

/ iscorrectresponse = [trial.enc1.response == list.answers1.nextvalue]

/ beginresponsetime = 0

/ trialduration = 2500

/ responseinterrupt = trial

</trial>


By Dave - 5/23/2016

<list answers1>
/ items = (30, 38, 38, 30, 38, 38, 30, 30, 30...)
/ selectionmode = list.answers1.currentindex
</list>

This does not make sense, because is circular: You are instructing the list to select the item # currently selected by the list itself.

> trial.enc1.currentindex

There is no such thing as a <trial>'s current index.

The list needs to be locked to the *stimulus* element it pertains to as in the example I linked:

<text mytext>
/ items = ("A1", "A2", "B1", "B2")
</text>

* 30 = scancode for "A"-key / 48 = scancode for "B"-key *
<list cresp>
/ items = (30, 30, 48, 48)
/ selectionmode = text.mytext.currentindex
</list>

In your case, based on your initial post, you'll want to lock the list to <picture scenes1>

as in

<list answers1>
/ items = (30, 38, 38, 30, 38, 38, 30, 30, 30...)
/ selectionmode = picture.scenes1.currentindex
</list>