Millisecond Forums

list syntax

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

By nakayama - 6/29/2015

Hi, Mr. Dave.
I am wondering whether inquisit 4 can do this:
On the beginning of the block, list randomly select a number. How can we track down that number? Since at the end of that block, the number will decrease or increase by 1 from the one that was selected.
I use this syntax but doesn't work. Thank you for your concern!
<list selection>
/ selectionmode = random
/ items = (1,2,3,4,5,6,7,8,9,10)
</list>
<values>
/step=10
/count=list.selection
</values>

<block 1>
/ onblockbegin = [list.selection]
/ trials = [1= standard;2=target;3=question]
/ onblockend = [if(openended.question.correct)list.selection.currentvalue -=1 else list.selection.currentvalue +=1]
/ branch = [if (list.selection.currentvalue==10 && openended.question.correct) 0]
/ branch = [if(list.selection.currentvalue<10)block.1]
</block>
 Best,
nakayama
By Dave - 6/29/2015

To select a value at random from a <list> and store it, do:

<list somelist>
/ items = (1,2,3,4,5,6,7,8,9,10)
</list>

<values>
/ count = 0
...
</values>

<expt>
/ onextpbegin = [values.count = list.somelist.nextvalue]
/ blocks = [1=1]
...
</expt>

Then  work with / in- or de-crease values.count in your <block> as needed.
By nakayama - 6/30/2015

Thank you Dave! I modified it. 
However, when I ran my script I showed this:
Direct2D Warning: 0x8899000c A presentation error has occurred that may be recoverable. The caller needs to re-create the render target then attempt to render the frame again. Line 779, File win\Direct2DGraphics.cpp
Would you please take a look at my draft? I was trying to start a the target stimulus with the duration randomly from (10,20,30,40,50,60,70,80,90,100) 
Thank you for your time!

By Dave - 6/30/2015

Various issues in that script; pay closer attention to any warnings and error messages when you parse and run, then fix them. Main problem was you using /stimulusframes  instead of /stimulustimes in <trial target>. Compare to the attached.

You may also want to take a closer look at the "How to Control Trial Duration and Inter-Trial Intervals" topic in the documentation to make sure you understand Inquisit's timing model and the resulting timings are what you intend them to be.
By nakayama - 6/30/2015

Thank you Dave! I appreciate it very much!
I read it. As for timing, is it correct to define the duration of stimulus as "100ms" like this?
<trial standard>
/ stimulustimes = [1=fixation;2000=target]
/ recorddata = true
/ timeout = 2100
</trial>



Best,
nakayama
By Dave - 6/30/2015

Yes, that /stimulustimes setup combined with a 2100 ms /timeout would result in a display duration of approx. 100 ms for the stimulus "target".
By nakayama - 6/30/2015

Thank you Dave!Very appreciated.