Trouble using iscorrectresponse in openended trial -- need counter element?


Author
Message
lsprute
lsprute
Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Hello,


I am new to Inquisit, and I am having trouble writing a program to identify the correct answer.


In my study, participants see an arithmetic problem on the screen (e.g.,  8 x 9 = ).  Their job is to type the answer to the problem.  I am using the openended trial and iscorrectresponse to indicate the correct answer for a trial. I can't seem to get the script to cycle to the appropriate answer.  The current script below simply uses the first item in the correct response list.  I have tried using a counter and ontrialbegin in different ways to no avail. Any help would be much appreciated.


Thanks, LIsa




Item elements contain lists to be called by other elements using the items attribute


<item easy>


/1 = "8 x 9 = "


/2 = "3 x 7 = "


/3 = "4 x 6 = "


</item>



<item easyanswers>


/1 = "72"


/2 = "21"


/3 = "24"


</item>



Use the text element to cycle through item elements


<text easytrials>


/ items = easy


</text>



<text easycresp>


/ items = easyanswers


</text>



***Values are used in program to match the correct response with the trial


<values>


/ cresp = 0


/ count = 0


</values>




<text easycounter>


/ items = easyanswers


/ select = current(easytrials)


</text>




Use the special openended trial so that Ps can type responses


<openended mytrial>


/ recorddata = true


/ stimulusframes = [1=easytrials]


/ position = (50, 75)


/ linelength = 10


/ numlines = 1


/ ontrialbegin = [values.cresp=text.easycounter.currentitem]


/ iscorrectresponse=[openended.mytrial.response == values.cresp]


</openended>



<block block1>


/ trials = [1-3=noreplace(mytrial)]


</block>










Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K

Tons of ways to do this, one is


<item easy>
/1 = "8 x 9 = "
/2 = "3 x 7 = "
/3 = "4 x 6 = "
</item>

Use the text element to cycle through item elements
<text easytrials>
/ items = easy
</text>

<list easyanswers>
/ items = ("72", "21", "24")
/ selectionmode = text.easytrials.nextindex
</list>

Use the special openended trial so that Ps can type responses
<openended mytrial>
/ recorddata = true
/ stimulusframes = [1=easytrials]
/ position = (50, 75)
/ linelength = 10
/ numlines = 1
/ iscorrectresponse=[openended.mytrial.response == list.easyanswers.nextvalue]
</openended>

<block block1>
/ trials = [1-3=mytrial]
</block>


You cannot work with stuff like 'text.easycounter.currentitem' because you never actually display <text easycounter>, hence no selection will ever occur on said element and there is no current item.


lsprute
lsprute
Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)Partner Member (610 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Thanks for the help!


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search