I have multiple conditions for stimulus sentences that I would like participants to make acceptability judgments on. However, if a participant receives sentence 1 in condition 1, I would like to make sure they do not receive sentence 1 from any other condition. The sentences will be presented in a random order each time. What's the best way to make Inquisit do this?
Additionally, I would like to make sure the proportion of sentences from each condition is balanced every time.
I've tried something like the following dummy script (using ontrialend & removeitem to eliminate same-index sentences from the stimulus pool) and it technically runs, but doesn't seem to do anything. Would it be better to use a list to store the stimulus sentences?
<item conditionOne>
/1 = sentence1
/2 = sentence2
/3 = sentence3
</item>
<item conditionTwo>
/1 = 1sentence
/2 = 2sentence
/3 = 3sentence
</item>
<item conditionThree>
/1 = sen1tence
/2 = sen2tence
/3 = sen3tence
</item>
<text conOne>
/items = conditionOne
/select = noreplace
</text>
<text conTwo>
/items = conditionTwo
/select = noreplace
</text>
<text conThree>
/items = conditionThree
/select = noreplace
</text>
<likert conOne>
/stimulusframes = [1=conOne]
/numpoints = 5
/anchors = [1="extremely unnatural"; 2="somewhat unnatural"; 3="possible"; 4="somewhat natural"; 5="extremely natural"]
/ontrialend = [text.conTwo.removeitem(text.conOne.currentindex) && text.conThree.removeitem(text.conOne.currentindex)]
</likert>
(etc, for likert conTwo/conThree)
<block practice>
/trials = [1-3 = noreplace(conOne, conTwo, conThree)]
</block>
<expt>
/blocks = [1 = practice]
</expt>