Millisecond Forums

How to get numbers to continuously and randomly run across the screen

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

By uni-student92084 - 1/7/2020

Greetings all, 
I am fairly new to Inquisit and I am trying to get a set number of values to continuously run across the bottom of the screen. I figured out the animation to run a number across the bottom of the screen but I can't get more than two numbers to do so. 

I have two groups of numbers and I would like to pull from both groups randomly but I can't figure out how to format my trials so that I can pull from either of the files more than once. I will put down below what my script currently looks like. 

Current Script: 

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
</text>

<text Demscore>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0= replace(Demscore); 1000= replace(Repscore); 2000= replace(Demscore)]
</trial>

When I run this script, for some reason, it only runs the first Demscore and not the second so, when I want another " Demscore" to follow the first "Repscore" that doesn't happen. 

What I would like to ideally happen is to repeatedly pull from the two groups of "scores" so that there is a continuous flow of numbers.

Any help or advice would be greatly appreciated, thank you!  
By Dave - 1/7/2020


A <text> element will only sample one item per trial. I.e. to to what you want to do, you need to define additional <text> elements:

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore1>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore2>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore3>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

//three items in this example
<list repscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<text Demscore1>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore2>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore3>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

//three items in this example
<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0=Demscore1; 1000=Repscore1; 2000=Demscore2; 3000=Repscore2; 4000=Demscore3; 5000=Repscore3]
</trial>
By uni-student92084 - 1/7/2020

Dave - 1/7/2020

A <text> element will only sample one item per trial. I.e. to to what you want to do, you need to define additional <text> elements:

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore1>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore2>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore3>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

//three items in this example
<list repscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<text Demscore1>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore2>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore3>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

//three items in this example
<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0=Demscore1; 1000=Repscore1; 2000=Demscore2; 3000=Repscore2; 4000=Demscore3; 5000=Repscore3]
</trial>

Thank you Dave!

Just one question, what is the importance of these items you implemented into the script?:
"/ select = list.repscoreitems.nextindex"

AND

"<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>"


By Dave - 1/7/2020

Kksham052 - 1/7/2020
Dave - 1/7/2020

A <text> element will only sample one item per trial. I.e. to to what you want to do, you need to define additional <text> elements:

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore1>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore2>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore3>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

//three items in this example
<list repscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<text Demscore1>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore2>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore3>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

//three items in this example
<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0=Demscore1; 1000=Repscore1; 2000=Demscore2; 3000=Repscore2; 4000=Demscore3; 5000=Repscore3]
</trial>

Thank you Dave!

Just one question, what is the importance of these items you implemented into the script?:
"/ select = list.repscoreitems.nextindex"

AND

"<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>"



By default, the three <text> elements Demscore1 to Demscore3 have independent selection pools -- i.e. each has the three items in <item demscore>, and each samples from those three items independently. That is: It would be perfectly possible for all three <text> elements to randomly select the same item.

The <list> referened in the /select attributs establishes a single, common selection pool across the three <text> elements. I.e. if item #2 is sampled by <text demscore1>, then <text demscore2> will sample a different item (either #1 or #3), and <text demscore3> will necessarily sample the one remaining item out the of the three.
By uni-student92084 - 1/8/2020

Dave - 1/7/2020
Kksham052 - 1/7/2020
Dave - 1/7/2020

A <text> element will only sample one item per trial. I.e. to to what you want to do, you need to define additional <text> elements:

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore1>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore2>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore3>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

//three items in this example
<list repscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<text Demscore1>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore2>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore3>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

//three items in this example
<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0=Demscore1; 1000=Repscore1; 2000=Demscore2; 3000=Repscore2; 4000=Demscore3; 5000=Repscore3]
</trial>

Thank you Dave!

Just one question, what is the importance of these items you implemented into the script?:
"/ select = list.repscoreitems.nextindex"

AND

"<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>"



By default, the three <text> elements Demscore1 to Demscore3 have independent selection pools -- i.e. each has the three items in <item demscore>, and each samples from those three items independently. That is: It would be perfectly possible for all three <text> elements to randomly select the same item.

The <list> referened in the /select attributs establishes a single, common selection pool across the three <text> elements. I.e. if item #2 is sampled by <text demscore1>, then <text demscore2> will sample a different item (either #1 or #3), and <text demscore3> will necessarily sample the one remaining item out the of the three.

I understand, thanks for the explanation. I know I didn't mention this in my original post but, I also need the "scores" to appear in random order, but they can be replaced. Would this selection attribute you explained above be the best option to accomplish this? Also, would it be wise to implement a "replace" mode for the selection mode? 
By Dave - 1/8/2020

Kksham052 - 1/8/2020
Dave - 1/7/2020
Kksham052 - 1/7/2020
Dave - 1/7/2020

A <text> element will only sample one item per trial. I.e. to to what you want to do, you need to define additional <text> elements:

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore1>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore2>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore3>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

//three items in this example
<list repscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<text Demscore1>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore2>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore3>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

//three items in this example
<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0=Demscore1; 1000=Repscore1; 2000=Demscore2; 3000=Repscore2; 4000=Demscore3; 5000=Repscore3]
</trial>

Thank you Dave!

Just one question, what is the importance of these items you implemented into the script?:
"/ select = list.repscoreitems.nextindex"

AND

"<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>"



By default, the three <text> elements Demscore1 to Demscore3 have independent selection pools -- i.e. each has the three items in <item demscore>, and each samples from those three items independently. That is: It would be perfectly possible for all three <text> elements to randomly select the same item.

The <list> referened in the /select attributs establishes a single, common selection pool across the three <text> elements. I.e. if item #2 is sampled by <text demscore1>, then <text demscore2> will sample a different item (either #1 or #3), and <text demscore3> will necessarily sample the one remaining item out the of the three.

I understand, thanks for the explanation. I know I didn't mention this in my original post but, I also need the "scores" to appear in random order, but they can be replaced. Would this selection attribute you explained above be the best option to accomplish this? Also, would it be wise to implement a "replace" mode for the selection mode? 

You can simply do that allowing the <list> to sample randomly *with* replacement by adding

<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>"
By uni-student92084 - 1/9/2020

Dave - 1/8/2020
Kksham052 - 1/8/2020
Dave - 1/7/2020
Kksham052 - 1/7/2020
Dave - 1/7/2020

A <text> element will only sample one item per trial. I.e. to to what you want to do, you need to define additional <text> elements:

<item Repscore>
/1 = "score1"
/2 = "score2"
/3 = "score3"
</item>

<item Demscore>
/1= "score1"
/2= "score2"
/3= "score3"
</item>

<text Repscore1>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore2>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

<text Repscore3>
/items = Repscore
/txcolor = (red)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.repscoreitems.nextindex
</text>

//three items in this example
<list repscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<text Demscore1>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore2>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

<text Demscore3>
/items= Demscore
/txcolor = blue
/animation = path (5000, 1 0%, 90%, 100%, 90%)
/ select = list.demscoreitems.nextindex
</text>

//three items in this example
<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>

<trial run1>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ stimulustimes = [0=Demscore1; 1000=Repscore1; 2000=Demscore2; 3000=Repscore2; 4000=Demscore3; 5000=Repscore3]
</trial>

Thank you Dave!

Just one question, what is the importance of these items you implemented into the script?:
"/ select = list.repscoreitems.nextindex"

AND

"<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
</list>"



By default, the three <text> elements Demscore1 to Demscore3 have independent selection pools -- i.e. each has the three items in <item demscore>, and each samples from those three items independently. That is: It would be perfectly possible for all three <text> elements to randomly select the same item.

The <list> referened in the /select attributs establishes a single, common selection pool across the three <text> elements. I.e. if item #2 is sampled by <text demscore1>, then <text demscore2> will sample a different item (either #1 or #3), and <text demscore3> will necessarily sample the one remaining item out the of the three.

I understand, thanks for the explanation. I know I didn't mention this in my original post but, I also need the "scores" to appear in random order, but they can be replaced. Would this selection attribute you explained above be the best option to accomplish this? Also, would it be wise to implement a "replace" mode for the selection mode? 

You can simply do that allowing the <list> to sample randomly *with* replacement by adding

<list demscoreitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>"
Got it!
Thank you for all your help Dave!!