By travelbird - 6/1/2015
Hi, depending on the keyboard response in one trial I need the participants to be led to different blocks. If a person presses the button "a", he/she is supposed to do a different block, than the person who presses "k". after that all participants are supposed to go to the same block again. So I defined all blocks (no matter of which response the give) for all conditions and then tried to define that the blocks, that are only to be done by the other persons are skipped.
Here is the trial where the crucial response is made: <trial XX> / stimulusframes=[1=XX] / correctresponse=("a", "k") </trial>
And here is how I defined the the special block, that is supposed to be skipped depending on the previous response: <block xx> / trials= [1 = xx] / skip = [trial.XX.response == "a"] </block>
What happens right now is, that all blocks are shown, none is skipped.
Thanks already!!
|
By Dave - 6/1/2015
<block xx> / trials= [1 = xx] / skip = [trial.XX.response == "a"] </block>
The above is wrong / won't work for two reasons:
(1) A trials 'response' property does *not* return the "literal" key value ("A", "K"), but the key's numerical scan code. See the "Keyboard Scan Codes" topic in the documentation and Tools -> Keyboard Scancodes... for details.
(2) You cannot "skip" a <block> that's already running and -- more importantly -- you *don't* want to skip <block xx>.
The correct way to do this is:
<expt > / blocks = [1=selectblock; 2=ablock; 3=kblock] </expt>
<block selectblock> / trials = [1=xx] </block>
<block ablock> / skip = [trial.xx.response!=30] / trials = [1=mytrial] </block>
<block kblock> / skip = [trial.xx.response!=37] / trials = [1=mytrial] </block>
<trial xx> / validresponse = ("a", "k") </trial>
<trial mytrial> / stimulusframes = [1=mytext] / validresponse = (" ") </trial>
<text mytext> / items = ("<%script.currentblock%>") </text>
|
|