By ineke - 8/10/2014
Dear,
I'm looking for some help for the next two questions I have about a altering a PASAT task in which the inter trial interval (ITI) changes depending on previous correct/wrong responses. 1) The current programming (see trial and block scripting below) runs the test all at once. For a clinical group, we'd like to add the possibility to take a break every 5 minutes. After this break the task should continue with the ITI that the participant ended before that break.
2) We like to make a control task in which the participants do not have to respond by counting the last two numbers, but just by responding the last orally presented number.
Any suggestions on how to handle these questions are very welcome. Thanks so much in advance!!
<trial test> / ontrialbegin = [ values.temp2 = number; values.currentSum = values.temp1 + values.temp2; values.currentDigit = values.temp2; values.temp1 = values.temp2; values.posX = (mod(values.currentSum - 1, 9) + 1) * 10; if (values.currentSum >= 1 && values.currentSum <= 9) values.posY = 40% else values.posY = 60%; ] / stimulusframes = [1=correctAnswer, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, numbers, debug] / inputdevice = mouse / response = free / validresponse = (correctAnswer, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen) / correctresponse = (correctAnswer) / trialduration = values.interTrialIntervalLevel1 / ontrialend = [ if ( values.currentLevel == 1 ) values.level1Correct = trial.test.numCorrect; if ( values.currentLevel == 2 ) values.level2Correct = trial.test.numCorrect; if ( values.currentLevel == 3 ) values.level3Correct = trial.test.numCorrect; ] / branch = [if (block.test.trialCount < values.totalTrials) trial.test] </trial>
<block test> / preinstructions = (pg5) / onblockbegin = [ values.currentLevel = block.test.totalCount + 1; if ( values.currentLevel == 1 ) {values.totalTrials = values.level1Trials;}; if ( values.currentLevel == 2 ) {values.totalTrials = values.level2Trials;}; if ( values.currentLevel == 3 ) {values.totalTrials = values.level3Trials;}; ] / ontrialbegin = [if (block.test.correctstreak != 0 && mod(block.test.correctstreak,4)==0) values.intertrialintervallevel1 = values.intertrialintervallevel1 - 1000] / ontrialbegin = [if (block.test.errorstreak != 0 && mod(block.test.errorstreak,4)==0) values.intertrialintervallevel1 = values.intertrialintervallevel1 + 1000] / trials = [1=first; 2=test] / recorddata = true </block>
|
By Dave - 8/10/2014
Re. #1: You'll want to /branch to a <trial> offering a break approximately every 5 minutes. You can use the various 'elapsedtime' properties to achieve that.
Re. #2: You need to be more specific here with respect to what you can't get to work -- this should be rather straightforward provided you've worked through the original script in sufficient detail.
|
|