Group: Administrators
Posts: 13K,
Visits: 107K
|
Re #1: That cannot happen *if* you run <block relation> only once. It can happen if you run it repeatedly in your full script. You sample 6 random items from <list allitems> /onblockbegin. After that, 4 unsampled items are left in that list. If you run <block relations> (or another block sampling from the list) again -- again taking 6 samples -- the list has to reset after 4 items, returning all 10 items back into the pool, and you may end up with the same item(s) sampled again. The solution is to make use of a list reset() before you do that, i.e.
/ onblockbegin = [list.allitems.reset(); ]
Similarly, you'll want to call the clearitems() function on the source and target lists before you assign any new items to them.
/ onblockbegin = [list.sourceitemsdislike.clearitems(); ...]
Re. #2: Yes. You need to link your source and target lists and set up the desired combinations via /onblockbegin. <block relation> / onblockbegin = [list.sourceitemslike.appenditem(list.allitems.nextindex); list.sourceitemslike.appenditem(list.allitems.currentindex); list.sourceitemslike.appenditem(list.allitems.nextindex); list.sourceitemslike.appenditem(list.allitems.currentindex); list.sourceitemsdislike.appenditem(list.allitems.nextindex); list.sourceitemsdislike.appenditem(list.allitems.currentindex); list.sourceitemsdislike.appenditem(list.allitems.nextindex); list.sourceitemsdislike.appenditem(list.allitems.currentindex);
list.targetitemslike.appenditem(list.allitems.nextindex); list.targetitemslike.appenditem(list.allitems.nextindex); list.targetitemslike.appenditem(list.targetitemslike.item(1)); list.targetitemslike.appenditem(list.targetitemslike.item(2));
list.targetitemsdislike.appenditem(list.targetitemslike.item(1)); list.targetitemsdislike.appenditem(list.targetitemslike.item(2)); list.targetitemsdislike.appenditem(list.targetitemslike.item(1)); list.targetitemsdislike.appenditem(list.targetitemslike.item(2)); ] / trials = [1-8 = noreplace(relationlike, relationdislike)] </block>
<trial relationlike> / stimulusframes = [1=sourcelike; 2=targetlike; 3=like] /timeout = 5000 /pretrialpause= 1000 </trial>
<trial relationdislike> / stimulusframes = [1=sourcedislike; 2=targetdislike; 3=dislike] /timeout = 5000 /pretrialpause= 1000 </trial>
<text like> /items = ("mag") /position= (50,50) /fontstyle= ("ARIAL", 40, true, false, false, false, 5, 0) / select = replace </text>
<text dislike> /items = ("mag nicht") /position= (50,50) /fontstyle= ("ARIAL", 40, true, false, false, false, 5, 0) / select = replace </text>
<text sourcelike> /items = kollegen / select = list.sourceitemslike.nextvalue / position= (25,50) / size = (30%, 30%) </text>
<text sourcedislike> /items = kollegen / select = list.sourceitemsdislike.nextvalue / position= (25,50) / size = (30%, 30%) </text>
<text targetlike> /items = kollegen / select = list.targetitemslike.nextvalue / position= (75,50) / size = (30%, 30%) </text>
<text targetdislike> /items = kollegen / select = list.targetitemsdislike.nextvalue / position= (75,50) / size = (30%, 30%) </text>
<item kollegen> /1 = "2.jpg" /2 = "3.jpg" /3 = "4.jpg" /4 = "5.bmp" /5 = "6.jpg" /6 = "7.jpg" /7 = "8.jpg" /8 = "9.bmp" /9 = "10.jpg" /10 = "11.bmp" </item>
<list allitems> / poolsize = 10 / selectionrate = always </list>
<list sourceitemslike> </list>
<list targetitemslike> / selectionmode = list.sourceitemslike.currentindex </list>
<list sourceitemsdislike> </list>
<list targetitemsdislike> / selectionmode = list.sourceitemsdislike.currentindex </list>
EDITED TO FIX MISTAKE IN ABOVE SCRIPT.
|