Nested lists, random choice of 3 words horizontally


Nested lists, random choice of 3 words horizontally

Author
Message
erzsebet
erzsebet
Associate Member
Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)

Group: Forum Members
Posts: 9, Visits: 44
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





Dave
Dave
Supreme Being
Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)

Group: Administrators
Posts: 9.5K, Visits: 43K
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

erzsebet
erzsebet
Associate Member
Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)

Group: Forum Members
Posts: 9, Visits: 44
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Dave
Dave
Supreme Being
Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)

Group: Administrators
Posts: 9.5K, Visits: 43K
erzsebet - Tuesday, April 23, 2019
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Yes, I have answered that question in the thread where you posted that question, here: https://www.millisecond.com/forums/FindPost26834.aspx

erzsebet
erzsebet
Associate Member
Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)

Group: Forum Members
Posts: 9, Visits: 44
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Yes, I have answered that question in the thread where you posted that question, here: https://www.millisecond.com/forums/FindPost26834.aspx
Dear Dave,
After your answer I am able to assign the correct answers, if there is no randomization inside the items,
But I still do not understand whether I can do any randomization between the three words shown horizontally together at the same time.
For example  item /1 "Aa Ac Ab" or "Ac Ab Aa" or Ab Ac Aa" or "Aa Ab Ac" or" Ac Aa Ab" or "Ab Aa Ac" , and similarly with /items 2-5

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "
/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Can I show the three A-s (and the three B-s, and the three C-s...) in a horizontal line in a randomized order?

Thank you for your help,
Erzsebet


Dave
Dave
Supreme Being
Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)

Group: Administrators
Posts: 9.5K, Visits: 43K
erzsebet - Tuesday, April 23, 2019
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Yes, I have answered that question in the thread where you posted that question, here: https://www.millisecond.com/forums/FindPost26834.aspx
Dear Dave,
After your answer I am able to assign the correct answers, if there is no randomization inside the items,
But I still do not understand whether I can do any randomization between the three words shown horizontally together at the same time.
For example  item /1 "Aa Ac Ab" or "Ac Ab Aa" or Ab Ac Aa" or "Aa Ab Ac" or" Ac Aa Ab" or "Ab Aa Ac" , and similarly with /items 2-5

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "
/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Can I show the three A-s (and the three B-s, and the three C-s...) in a horizontal line in a randomized order?

Thank you for your help,
Erzsebet


You can randomize them, but you cannot do so when you have them in a single <item> element displayed by a single <text> element. What you need is three <text> elements, and then randomize the three text elements' hoizontal position:

<values>
/ targetx = 0%
/ distractor1x = 0%
/ distractor2x = 0%
</values>

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

<trial mytrial>
/ ontrialbegin = [
values.targetx = list.x.nextvalue;
values.distractor1x = list.x.nextvalue;
values.distractor2x = list.x.nextvalue;
]
/ stimulusframes = [1=target, distractor1, distractor2]
/ inputdevice = mouse
/ validresponse = (target, distractor1, distractor2)
</trial>

<list x>
/ items = (40%, 50%, 60%)
/ selectionrate = always
</list>

<text target>
/ items = targetitems
/ vposition = 50%
/ hposition = values.targetx
/ select = noreplace
</text>

<text distractor1>
/ items = distractor1items
/ vposition = 50%
/ hposition = values.distractor1x
/ select = text.target.currentitemnumber
</text>

<text distractor2>
/ items = distractor2items
/ vposition = 50%
/ hposition = values.distractor2x
/ select = text.target.currentitemnumber
</text>

<item targetitems>
/ 1 = "Target A"
/ 2 = "Target B"
/ 3 = "Target C"
</item>

<item distractor1items>
/ 1 = "Distractor1 A"
/ 2 = "Distractor1 B"
/ 3 = "Distractor1 C"
</item>

<item distractor2items>
/ 1 = "Distractor2 A"
/ 2 = "Distractor2 B"
/ 3 = "Distractor2 C"
</item>


erzsebet
erzsebet
Associate Member
Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)

Group: Forum Members
Posts: 9, Visits: 44
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Yes, I have answered that question in the thread where you posted that question, here: https://www.millisecond.com/forums/FindPost26834.aspx
Dear Dave,
After your answer I am able to assign the correct answers, if there is no randomization inside the items,
But I still do not understand whether I can do any randomization between the three words shown horizontally together at the same time.
For example  item /1 "Aa Ac Ab" or "Ac Ab Aa" or Ab Ac Aa" or "Aa Ab Ac" or" Ac Aa Ab" or "Ab Aa Ac" , and similarly with /items 2-5

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "
/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Can I show the three A-s (and the three B-s, and the three C-s...) in a horizontal line in a randomized order?

Thank you for your help,
Erzsebet


You can randomize them, but you cannot do so when you have them in a single <item> element displayed by a single <text> element. What you need is three <text> elements, and then randomize the three text elements' hoizontal position:

<values>
/ targetx = 0%
/ distractor1x = 0%
/ distractor2x = 0%
</values>

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

<trial mytrial>
/ ontrialbegin = [
values.targetx = list.x.nextvalue;
values.distractor1x = list.x.nextvalue;
values.distractor2x = list.x.nextvalue;
]
/ stimulusframes = [1=target, distractor1, distractor2]
/ inputdevice = mouse
/ validresponse = (target, distractor1, distractor2)
</trial>

<list x>
/ items = (40%, 50%, 60%)
/ selectionrate = always
</list>

<text target>
/ items = targetitems
/ vposition = 50%
/ hposition = values.targetx
/ select = noreplace
</text>

<text distractor1>
/ items = distractor1items
/ vposition = 50%
/ hposition = values.distractor1x
/ select = text.target.currentitemnumber
</text>

<text distractor2>
/ items = distractor2items
/ vposition = 50%
/ hposition = values.distractor2x
/ select = text.target.currentitemnumber
</text>

<item targetitems>
/ 1 = "Target A"
/ 2 = "Target B"
/ 3 = "Target C"
</item>

<item distractor1items>
/ 1 = "Distractor1 A"
/ 2 = "Distractor1 B"
/ 3 = "Distractor1 C"
</item>

<item distractor2items>
/ 1 = "Distractor2 A"
/ 2 = "Distractor2 B"
/ 3 = "Distractor2 C"
</item>


Thank you, Dave,
the randomizations work.

But I still have one problem left:

If I use the mouse as an input device I can add " / iscorrectresponse = [target] " and the correct answer will be recorded.

However, if I use the keyboard as the input device and pressing certain keys (2,3,4 as standing for "'1","2","3") indicate the position of the target I do not know how to define the correct answer.

Can you help me with this problem too?
Thank you!
Erzsebet



Dave
Dave
Supreme Being
Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)Supreme Being (610K reputation)

Group: Administrators
Posts: 9.5K, Visits: 43K
erzsebet - Tuesday, April 23, 2019
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Yes, I have answered that question in the thread where you posted that question, here: https://www.millisecond.com/forums/FindPost26834.aspx
Dear Dave,
After your answer I am able to assign the correct answers, if there is no randomization inside the items,
But I still do not understand whether I can do any randomization between the three words shown horizontally together at the same time.
For example  item /1 "Aa Ac Ab" or "Ac Ab Aa" or Ab Ac Aa" or "Aa Ab Ac" or" Ac Aa Ab" or "Ab Aa Ac" , and similarly with /items 2-5

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "
/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Can I show the three A-s (and the three B-s, and the three C-s...) in a horizontal line in a randomized order?

Thank you for your help,
Erzsebet


You can randomize them, but you cannot do so when you have them in a single <item> element displayed by a single <text> element. What you need is three <text> elements, and then randomize the three text elements' hoizontal position:

<values>
/ targetx = 0%
/ distractor1x = 0%
/ distractor2x = 0%
</values>

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

<trial mytrial>
/ ontrialbegin = [
values.targetx = list.x.nextvalue;
values.distractor1x = list.x.nextvalue;
values.distractor2x = list.x.nextvalue;
]
/ stimulusframes = [1=target, distractor1, distractor2]
/ inputdevice = mouse
/ validresponse = (target, distractor1, distractor2)
</trial>

<list x>
/ items = (40%, 50%, 60%)
/ selectionrate = always
</list>

<text target>
/ items = targetitems
/ vposition = 50%
/ hposition = values.targetx
/ select = noreplace
</text>

<text distractor1>
/ items = distractor1items
/ vposition = 50%
/ hposition = values.distractor1x
/ select = text.target.currentitemnumber
</text>

<text distractor2>
/ items = distractor2items
/ vposition = 50%
/ hposition = values.distractor2x
/ select = text.target.currentitemnumber
</text>

<item targetitems>
/ 1 = "Target A"
/ 2 = "Target B"
/ 3 = "Target C"
</item>

<item distractor1items>
/ 1 = "Distractor1 A"
/ 2 = "Distractor1 B"
/ 3 = "Distractor1 C"
</item>

<item distractor2items>
/ 1 = "Distractor2 A"
/ 2 = "Distractor2 B"
/ 3 = "Distractor2 C"
</item>


Thank you, Dave,
the randomizations work.

But I still have one problem left:

If I use the mouse as an input device I can add " / iscorrectresponse = [target] " and the correct answer will be recorded.

However, if I use the keyboard as the input device and pressing certain keys (2,3,4 as standing for "'1","2","3") indicate the position of the target I do not know how to define the correct answer.

Can you help me with this problem too?
Thank you!
Erzsebet



This too can easily be done per /iscorrectresponse:

<values>
/ targetx = 0%
/ distractor1x = 0%
/ distractor2x = 0%
</values>

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

<trial mytrial>
/ ontrialbegin = [
values.targetx = list.x.nextvalue;
values.distractor1x = list.x.nextvalue;
values.distractor2x = list.x.nextvalue;
]
/ stimulusframes = [1=target, distractor1, distractor2]
/ inputdevice = keyboard
/ validresponse = (2,3,4)

/ iscorrectresponse = [
(values.targetx == 40% && trial.mytrial.response == 2) ||
(values.targetx == 50% && trial.mytrial.response == 3) ||
(values.targetx == 60% && trial.mytrial.response == 4)
]

/ correctmessage = true(cmsg,1000)
/ errormessage = true(emsg, 1000)
</trial>

<list x>
/ items = (40%, 50%, 60%)
/ selectionrate = always
</list>

<text target>
/ items = targetitems
/ vposition = 50%
/ hposition = values.targetx
/ select = noreplace
</text>

<text distractor1>
/ items = distractor1items
/ vposition = 50%
/ hposition = values.distractor1x
/ select = text.target.currentitemnumber
</text>

<text distractor2>
/ items = distractor2items
/ vposition = 50%
/ hposition = values.distractor2x
/ select = text.target.currentitemnumber
</text>

<item targetitems>
/ 1 = "Target A"
/ 2 = "Target B"
/ 3 = "Target C"
</item>

<item distractor1items>
/ 1 = "Distractor1 A"
/ 2 = "Distractor1 B"
/ 3 = "Distractor1 C"
</item>

<item distractor2items>
/ 1 = "Distractor2 A"
/ 2 = "Distractor2 B"
/ 3 = "Distractor2 C"
</item>

<text cmsg>
/ items = ("CORRECT")
/ txcolor = green
/ position = (50%, 75%)
</text>

<text emsg>
/ items = ("ERROR")
/ txcolor = red
/ position = (50%, 75%)
</text>



erzsebet
erzsebet
Associate Member
Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)Associate Member (76 reputation)

Group: Forum Members
Posts: 9, Visits: 44
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Tuesday, April 23, 2019
erzsebet - Tuesday, April 23, 2019
Dave - Monday, April 22, 2019
erzsebet - Saturday, April 20, 2019
Hello,
I've tried writing a simple script, but I couldn't solve my problem:

There are two parts of my test.
In the first part I would like to show three words ("triplets") together, horizontally, thirty times. These words should appear in a random order, horizontally, The odd one (according to the instructions in the beginning of the first part) should be chosen, by clicking on b, h, or j.
There are thirty word-triplets, they should come after each other, in a random order.
In the second part I would like to show the same word-triplets, always  in a random order horizontally, and, additionally, all thirty of them randomly after each other. The odd one (according to the instructions in the beginning of the second part) should be chosen, by clicking on b, h, or j.

I managed to write something like this, but I cannot figure out how to write the three words inside the triplets randomly horizontally.

Can you help me?

Thank you,
Erzsebet

*************************************************
Creating Text Stimuli
*************************************************

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  repülő   seregély  elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs  körte   golyó    "
</item>

<text secondwordtriplets>
/ items = secondwordtriplets
</text>

<item secondwordtriplets>
/ 1 = "  repülő   seregély   elefánt   "
/ 2 = "  sapka   harang   kendő    "
/ 3 = "  narancs   körte   golyó    "
</item>

<text bkey>
/ items = ("press B if
the left word is
the odd one out")
/ position = (25, 75)
/ txcolor = (0, 0, 255)
</text>

<text hkey>
/ items = ("press H if
the middle word is
the odd one out")
/ position = (50, 75)
/ txcolor = (0, 0, 255)
</text>

<text jkey>
/ items = ("press J if
the right word is
the odd one out")
/ position = (75, 75)
/ txcolor = (0, 0, 255)
</text>


*************************************************
Creating Instructions
*************************************************

<page intro>
^^^^^^^^Odd one out
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page first>
^^^^^^^^First part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page second>
^^^^^^^^^^Second part, which is the less similar in color?
3 fingers B and H and J, B left, J right, H middle word,
^^^^^^^^^^press "H" to continue
</page>

<page end>
^^^^^^      end
^^^^^^^^    thank you
</page>

<instruct>
/ nextkey = ("h")
</instruct>

*************************************************
Creating Trials
*************************************************

<trial firstwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=firstwordtriplets]
</trial>

<trial secondwordtriplets>
/ validresponse = ("b", "h", "j")
/ stimulusframes = [1=secondwordtriplets]
</trial>

*************************************************
Creating Blocks
*************************************************

<block first>
/ trials = [1-3 = noreplace(firstwordtriplets)]
/ preinstructions = (first)
/ bgstim = (bkey, jkey, hkey)
</block>

<block second>
/ trials = [1-3 = noreplace(secondwordtriplets)]
/ preinstructions = (second)
/ bgstim = (bkey, jkey, hkey)
</block>

*************************************************
Creating an Expt
*************************************************

<expt>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=first; 2=second]
</expt>


<defaults>
/ screencolor = (175, 175, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>





If you want to have a stimulus item broken up across several lines, you need to specify the <text> element's /size and then you can insert line breaks:

<text example>
/ items = exampleitems
/ size = (25%, 20%)
</text>

<item exampleitems>
/ 1 = "A~nB~nC"
/ 2 = "D~nE~nF"
</item>

Dear Dave,
It seems that I did not explain my problem clearly enough.
I would like to show three-s of words horizontally. The answerer should click on one of three keys, according to the position of the word on the screen, but only one is correct.
If the leftside word is the correct choice, the answerer shoud press "b", if the word on the right side is the correct choice the answere should press "j", and "h" for the middle word.

Is it possible to randomize the order of three horizontal words shown at the same time, and getting the correct answer by key-press?
<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Thank you for your help,
Erzsebet

Yes, I have answered that question in the thread where you posted that question, here: https://www.millisecond.com/forums/FindPost26834.aspx
Dear Dave,
After your answer I am able to assign the correct answers, if there is no randomization inside the items,
But I still do not understand whether I can do any randomization between the three words shown horizontally together at the same time.
For example  item /1 "Aa Ac Ab" or "Ac Ab Aa" or Ab Ac Aa" or "Aa Ab Ac" or" Ac Aa Ab" or "Ab Aa Ac" , and similarly with /items 2-5

<text firstwordtriplets>
/ items = firstwordtriplets
</text>

<item firstwordtriplets>
/ 1 = "  Aa   Ab  Ac   "
/ 2 = "  Ba  Bb   Bc   "
/ 3 = "  Cc  Cb  Cc   "
/ 4 = "  Da  Db   Dc   "
/ 5 = "  Ea  Eb    Ec  "
</item>

Can I show the three A-s (and the three B-s, and the three C-s...) in a horizontal line in a randomized order?

Thank you for your help,
Erzsebet


You can randomize them, but you cannot do so when you have them in a single <item> element displayed by a single <text> element. What you need is three <text> elements, and then randomize the three text elements' hoizontal position:

<values>
/ targetx = 0%
/ distractor1x = 0%
/ distractor2x = 0%
</values>

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

<trial mytrial>
/ ontrialbegin = [
values.targetx = list.x.nextvalue;
values.distractor1x = list.x.nextvalue;
values.distractor2x = list.x.nextvalue;
]
/ stimulusframes = [1=target, distractor1, distractor2]
/ inputdevice = mouse
/ validresponse = (target, distractor1, distractor2)
</trial>

<list x>
/ items = (40%, 50%, 60%)
/ selectionrate = always
</list>

<text target>
/ items = targetitems
/ vposition = 50%
/ hposition = values.targetx
/ select = noreplace
</text>

<text distractor1>
/ items = distractor1items
/ vposition = 50%
/ hposition = values.distractor1x
/ select = text.target.currentitemnumber
</text>

<text distractor2>
/ items = distractor2items
/ vposition = 50%
/ hposition = values.distractor2x
/ select = text.target.currentitemnumber
</text>

<item targetitems>
/ 1 = "Target A"
/ 2 = "Target B"
/ 3 = "Target C"
</item>

<item distractor1items>
/ 1 = "Distractor1 A"
/ 2 = "Distractor1 B"
/ 3 = "Distractor1 C"
</item>

<item distractor2items>
/ 1 = "Distractor2 A"
/ 2 = "Distractor2 B"
/ 3 = "Distractor2 C"
</item>


Thank you, Dave,
the randomizations work.

But I still have one problem left:

If I use the mouse as an input device I can add " / iscorrectresponse = [target] " and the correct answer will be recorded.

However, if I use the keyboard as the input device and pressing certain keys (2,3,4 as standing for "'1","2","3") indicate the position of the target I do not know how to define the correct answer.

Can you help me with this problem too?
Thank you!
Erzsebet



This too can easily be done per /iscorrectresponse:

<values>
/ targetx = 0%
/ distractor1x = 0%
/ distractor2x = 0%
</values>

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

<trial mytrial>
/ ontrialbegin = [
values.targetx = list.x.nextvalue;
values.distractor1x = list.x.nextvalue;
values.distractor2x = list.x.nextvalue;
]
/ stimulusframes = [1=target, distractor1, distractor2]
/ inputdevice = keyboard
/ validresponse = (2,3,4)

/ iscorrectresponse = [
(values.targetx == 40% && trial.mytrial.response == 2) ||
(values.targetx == 50% && trial.mytrial.response == 3) ||
(values.targetx == 60% && trial.mytrial.response == 4)
]

/ correctmessage = true(cmsg,1000)
/ errormessage = true(emsg, 1000)
</trial>

<list x>
/ items = (40%, 50%, 60%)
/ selectionrate = always
</list>

<text target>
/ items = targetitems
/ vposition = 50%
/ hposition = values.targetx
/ select = noreplace
</text>

<text distractor1>
/ items = distractor1items
/ vposition = 50%
/ hposition = values.distractor1x
/ select = text.target.currentitemnumber
</text>

<text distractor2>
/ items = distractor2items
/ vposition = 50%
/ hposition = values.distractor2x
/ select = text.target.currentitemnumber
</text>

<item targetitems>
/ 1 = "Target A"
/ 2 = "Target B"
/ 3 = "Target C"
</item>

<item distractor1items>
/ 1 = "Distractor1 A"
/ 2 = "Distractor1 B"
/ 3 = "Distractor1 C"
</item>

<item distractor2items>
/ 1 = "Distractor2 A"
/ 2 = "Distractor2 B"
/ 3 = "Distractor2 C"
</item>

<text cmsg>
/ items = ("CORRECT")
/ txcolor = green
/ position = (50%, 75%)
</text>

<text emsg>
/ items = ("ERROR")
/ txcolor = red
/ position = (50%, 75%)
</text>



Thank you!

GO


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search