Millisecond Forums

how to randomize inside a block?

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

By uni-student92084 - 2/3/2020

Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>
By Dave - 2/3/2020

uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.
By uni-student92084 - 2/4/2020

Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 
By Dave - 2/4/2020

uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.
By uni-student92084 - 2/4/2020

Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

So then if I wanted to randomize the selection of trials on the block-level, how would I go about doing that? I don't want 40 trials and RepB then 4o trials of DemB, I would like both 40 to be mixed in/randomly picked.
By Dave - 2/4/2020

uni-student92084 - 2/4/2020
Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

So then if I wanted to randomize the selection of trials on the block-level, how would I go about doing that? I don't want 40 trials and RepB then 4o trials of DemB, I would like both 40 to be mixed in/randomly picked.

I answered that here https://www.millisecond.com/forums/FindPost28218.aspx
By uni-student92084 - 2/4/2020

Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


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

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

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

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


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

So then if I wanted to randomize the selection of trials on the block-level, how would I go about doing that? I don't want 40 trials and RepB then 4o trials of DemB, I would like both 40 to be mixed in/randomly picked.

I answered that here https://www.millisecond.com/forums/FindPost28218.aspx

okay, thanks again Dave!