Experiment(){
Context(){
AssignmentGroup(){
ExperimentName = lang2("Short Term Memory (Peterson & Peterson, 1959)", "Kurzzeitgedächtnis (Peterson & Peterson, 1959)");
DataFileTrialFormat = "%SubjectCode% %TrialCounter% %Trial.LetterMatrix:first.Letters%%Trial.LetterMatrix:second.Letters%%Trial.LetterMatrix:third.Letters% %Trial.CountDown.NumberOfPeriods% %Trial.LetterMatrixResponse.Letters% %Trial.LetterMatrixResponse.NumberCorrect% ";
SubjectCode = "pxlab";
}
Session(){
Instruction(){
Text = lang2(["Remembering from Short Term Memory", " ", "We will show you a series of 3 consonants followed by a 3-digit number. Please read the number loud and start counting backwards from the number in steps of 3. Counting pace will be given by a dot signal on the screen.", "After a short time a cursor will appear on the screen. You should then enter the three consonants in the presentation order and finish with the Enter-key.", " ", "Press any key now to start!"], ["Erinnern aus dem Kurzzeitgedächtnis", " ", "Es werden Ihnen nacheinander drei Konsonanten dargeboten. Nach dem letzten Konsonant erscheint eine Zahl. Lesen Sie diese laut vor und zählen sie dann in 3er-Schritten rückwärts. Der Takt wird Ihnen durch ein Leuchtsignal vorgegeben.", "Nach kurzer Zeit erscheint auf dem Bildschirm eine Schreibmarke. Geben sie hier die drei Konsonanten in der korrekten Reihenfolge ein und schließen mit der Eingabetaste ab.", " ", "Zum Starten drücken Sie bitte eine beliebige Taste!"]);
}
}
SessionEnd(){
SessionEndMessage(){
}
}
Block( BlockCounter, TrialFactor, RandomizeTrials);
BlockEnd();
Trial( TrialCounter, LetterMatrix:first.Letters, LetterMatrix:second.Letters, LetterMatrix:third.Letters, LetterMatrix:number.Letters, CountDown.NumberOfPeriods, LetterMatrixResponse.Letters){
ClearScreen:wait1(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 1000;
}
LetterMatrix:first(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 800;
FontSize = 80;
NumberOfRows = 1;
NumberOfColumns = 1;
SetOfLetters = "BCDFGHJKLMNPQRSTVWXYZ";
}
ClearScreen:wait2(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 200;
}
LetterMatrix:second(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 800;
FontSize = 80;
NumberOfRows = 1;
NumberOfColumns = 1;
SetOfLetters = "BCDFGHJKLMNPQRSTVWXYZ";
}
ClearScreen:wait3(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 200;
}
LetterMatrix:third(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 800;
FontSize = 80;
NumberOfRows = 1;
NumberOfColumns = 1;
SetOfLetters = "BCDFGHJKLMNPQRSTVWXYZ";
}
ClearScreen:wait4(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 200;
}
LetterMatrix:number(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 1000;
SetOfLetters = 123456789;
NumberOfColumns = 3;
NumberOfRows = 1;
FontSize = 80;
}
ClearScreen:wait5(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 500;
}
CountDown(){
Color = Gray;
Duration = 500;
OffDuration = 1000;
}
ClearScreen:waitResponse(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 1000;
}
LetterMatrixResponse(){
NumberOfRows = 1;
NumberOfColumns = 3;
FontSize = 80;
CorrectLetters = cat(Trial.LetterMatrix:first.Letters, cat(Trial.LetterMatrix:second.Letters, Trial.LetterMatrix:third.Letters));
FirstResponseColumn = 0;
Timer = de.pxlab.pxl.TimerCodes.STOP_KEY_TIMER;
Width = 200;
Height = 200;
UpperCase = 1;
ResponseRows = 1;
ResponseColumns = 3;
FirstResponseRow = 0;
}
Feedback(){
Text = lang2("%Trial.LetterMatrixResponse.NumberCorrect% correct", "%Trial.LetterMatrixResponse.NumberCorrect% richtig");
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 1200;
FontSize = 60;
}
ClearScreen:close(){
Duration = 300;
Timer = de.pxlab.pxl.TimerCodes.LIMITED_RESPONSE_TIMER;
}
}
// Command line assignments
AssignmentGroup();
}
Procedure(){
Session(){
Block( 0, 1, 0){
Trial( ?, ?, ?, ?, ?, 1, ?);
Trial( ?, ?, ?, ?, ?, 3, ?);
Trial( ?, ?, ?, ?, ?, 7, ?);
}
Block( 1, 20, 1){
Trial( ?, ?, ?, ?, ?, <1, 3, 7>, ?);
}
}
}
}