/*@

Stroop Interference

Colored words or letter sequences are presented together with a color name below. The task is to respond with the YES-key if the color name gives the name of the letter colors shown or with the NO-key if not. The colored letters or words words are either congruent to their color, incongruent, or are neutral distractors. */
Experiment(){

Context(){
AssignmentGroup(){
new ROT = [13.37, 0.519, 0.268];
new GELB = [47.34, 0.429, 0.485];
new GRUEN = [20.2, 0.257, 0.442];
new BLAU = [16.44, 0.175, 0.155];
new WEISS = gray();
new R_JA = 0;
new R_NEIN = 1;
new Interference = 0;
new NEUT = 0;
new KON = 1;
new INKON = 2;
ExperimentName = lang2("Color-Word Interference (Stroop, 1935)", "Farbe-Wort-Interferenz (Stroop, 1935)");
SubjectCode = "pxlab";
DataFileTrialFormat = "%SubjectCode% %TrialCounter% %Interference% %Trial.Feedback.Response% %Trial.TwoStrings.ResponseTime%";
new TrialReplicator = 0;
}
Session(){
Instruction(){
Text = ["Experiment zum Stroop-Effekt", " ", "Wenn das Kreuz erscheint, können Sie durch einen Tastendruck die Reizdarbietung auslösen.", "Oben erscheint dann eine Folge von farbigen Buchstaben und unten erscheint ein Farbwort.", "Wenn das Farbwort die Farbe der Buchstaben benennt, drücken Sie \'ja\' - die linke Maustaste, wenn das Farbwort nicht die Buchstabenfarbe benennt, dann drücken Sie \'nein\' - die rechte Maustaste. ", "Urteilen Sie so schnell Sie können, aber versuchen Sie in jedem Fall falsche Antworten zu vermeiden!", " ", "Zum Starten bitte eine beliebige Taste drücken!"];
}
}
SessionEnd(){
Message(){
Text = "E N D E";
Duration = 2000;
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
}
}
Block( StoreData){
Message(){
Text = "Zum Weitermachen\nbitte eine Taste drücken!";
Timer = de.pxlab.pxl.TimerCodes.RELEASE_RESPONSE_TIMER;
}
}
BlockEnd(){
Message(){
Text = "P A U S E";
Duration = 2000;
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
}
}
Trial( TrialCounter, TrialReplicator, TwoStrings.SignalText, TwoStrings.ProbeText, TwoStrings.SignalColor, Interference, Feedback.CorrectCode, Feedback.Response, TwoStrings.ResponseTime){
FixationMark(){
Timer = de.pxlab.pxl.TimerCodes.RELEASE_RESPONSE_TIMER;
LineWidth = 3;
}
ClearScreen:wait1(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 500;
}
TwoStrings(){
SOADuration = 100;
SignalSize = 140;
Duration = 5000;
SignalLocationX = 0;
SignalLocationY = -45;
ProbeColor = gray();
ProbeSize = 140;
ProbeLocationX = 0;
ProbeLocationY = 148;
ResponseSet = [1, 3];
}
Feedback(){
ResponseParameter = "Trial.TwoStrings.ResponseCode";
CorrectText = "%Trial.TwoStrings.ResponseTime@i% ms";
Evaluation = de.pxlab.pxl.EvaluationCodes.COMPARE_CODE;
FalseText = "Falsch!";
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 1200;
Visible = 1;
}
ClearScreen:wait2(){
Timer = de.pxlab.pxl.TimerCodes.CLOCK_TIMER;
Duration = 1000;
}
}
// Command line assignments
AssignmentGroup();
}
Procedure(){
Session(){
/* Übung: 4 x 12 = 48 trials */
Block( 0){
Trial( ?, 1, <"GRÜN", "BLAU">, "ROT", ROT, INKON, R_JA, ?, ?);
Trial( ?, 1, "GELB", <"GELB", "GRÜN">, ROT, INKON, R_NEIN, ?, ?);
Trial( ?, 1, <"DRFG", "NSLG">, "ROT", ROT, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"KNPL", "TTMM">, "GELB", ROT, NEUT, R_NEIN, ?, ?);
Trial( ?, <1, 2>, "ROT", "ROT", ROT, KON, R_JA, ?, ?);
Trial( ?, 1, "ROT", <"GRÜN", "BLAU">, ROT, KON, R_NEIN, ?, ?);
Trial( ?, 1, <"GELB", "ROT">, "GRÜN", GRUEN, INKON, R_JA, ?, ?);
Trial( ?, 1, "BLAU", <"GELB", "BLAU">, GRUEN, INKON, R_NEIN, ?, ?);
Trial( ?, 1, <"TGZW", "LNVT">, "GRÜN", GRUEN, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"NTFH", "CSNG">, "GELB", GRUEN, NEUT, R_NEIN, ?, ?);
Trial( ?, <1, 2>, "GRÜN", "GRÜN", GRUEN, KON, R_JA, ?, ?);
Trial( ?, 1, "GRÜN", <"GELB", "BLAU">, GRUEN, KON, R_NEIN, ?, ?);
Trial( ?, 1, <"ROT", "GRÜN">, "GELB", GELB, INKON, R_JA, ?, ?);
Trial( ?, 1, "BLAU", <"ROT", "BLAU">, GELB, INKON, R_NEIN, ?, ?);
Trial( ?, 1, <"DNRH", "FRVN">, "GELB", GELB, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"RDNR", "HFGL">, "ROT", GELB, NEUT, R_NEIN, ?, ?);
Trial( ?, <1, 2>, "GELB", "GELB", GELB, KON, R_JA, ?, ?);
Trial( ?, 1, "GELB", <"GRÜN", "BLAU">, GELB, KON, R_NEIN, ?, ?);
Trial( ?, 1, <"GRÜN", "GELB">, "BLAU", BLAU, INKON, R_JA, ?, ?);
Trial( ?, 1, "ROT", <"ROT", "GELB">, BLAU, INKON, R_NEIN, ?, ?);
Trial( ?, 1, <"RHSR", "PMRH">, "BLAU", BLAU, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"NSRG", "GNDN">, "ROT", BLAU, NEUT, R_NEIN, ?, ?);
Trial( ?, <1, 2>, "BLAU", "BLAU", BLAU, KON, R_JA, ?, ?);
Trial( ?, 1, "BLAU", <"GRÜN", "GELB">, BLAU, KON, R_NEIN, ?, ?);
}
Block( 1){
// Insgesamt: 4 x 54 = 216 trials // Farbe ROT: 18 (inkon) + 18 (neutral) + 18 (kongruent) trials // inkongruent: 9 (ja) + 9 (nein) trials
Trial( ?, <1, 2, 3>, <"GELB", "GRÜN", "BLAU">, "ROT", ROT, INKON, R_JA, ?, ?);
Trial( ?, 1, <"GELB", "GRÜN", "BLAU">, <"GELB", "GRÜN", "BLAU">, ROT, INKON, R_NEIN, ?, ?);
// neutral: 9 (ja) + 9 (nein) trials
Trial( ?, 1, <"DRFG", "NSLG", "TDNN">, "ROT", ROT, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"BGSD", "RWNM", "MNGN">, "ROT", ROT, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"SDNR", "DNST", "HTST">, "ROT", ROT, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"KNPL", "TTMM", "NTKN">, "GELB", ROT, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"FNHC", "SYHP", "HCYS">, "GRÜN", ROT, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"PRDM", "RFDR", "NTHC">, "BLAU", ROT, NEUT, R_NEIN, ?, ?);
// kongruent: 9 (ja) + 9 (nein) trials
Trial( ?, <1, 2, 3, 4, 5, 6, 7, 8, 9>, "ROT", "ROT", ROT, KON, R_JA, ?, ?);
Trial( ?, <1, 2, 3>, "ROT", <"GELB", "GRÜN", "BLAU">, ROT, KON, R_NEIN, ?, ?);
// Farbe GRÜN // inkongruent
Trial( ?, <1, 2, 3>, <"GELB", "ROT", "BLAU">, "GRÜN", GRUEN, INKON, R_JA, ?, ?);
Trial( ?, 1, <"GELB", "ROT", "BLAU">, <"GELB", "ROT", "BLAU">, GRUEN, INKON, R_NEIN, ?, ?);
// neutral
Trial( ?, 1, <"TGZW", "LNVT", "LTRD">, "GRÜN", GRUEN, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"NSLS", "NBGG", "LDNR">, "GRÜN", GRUEN, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"GLMR", "FNND", "HTMN">, "GRÜN", GRUEN, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"NSDD", "NTFH", "CSNG">, "GELB", GRUEN, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"NLKS", "RDRH", "TNDN">, "ROT", GRUEN, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"NSRG", "RVTK", "JBSG">, "BLAU", GRUEN, NEUT, R_NEIN, ?, ?);
// kongruent
Trial( ?, <1, 2, 3, 4, 5, 6, 7, 8, 9>, "GRÜN", "GRÜN", GRUEN, KON, R_JA, ?, ?);
Trial( ?, <1, 2, 3>, "GRÜN", <"GELB", "ROT", "BLAU">, GRUEN, KON, R_NEIN, ?, ?);
// Farbe GELB // inkongruent
Trial( ?, <1, 2, 3>, <"ROT", "GRÜN", "BLAU">, "GELB", GELB, INKON, R_JA, ?, ?);
Trial( ?, 1, <"ROT", "GRÜN", "BLAU">, <"ROT", "GRÜN", "BLAU">, GELB, INKON, R_NEIN, ?, ?);
// neutral
Trial( ?, 1, <"NSMR", "DNRH", "FRVN">, "GELB", GELB, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"LTKC", "WTNR", "SMSN">, "GELB", GELB, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"TNMR", "KDWN", "RHFN">, "GELB", GELB, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"GNSM", "RDNR", "HFGL">, "ROT", GELB, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"NDZT", "NGNZ", "THCS">, "GRÜN", GELB, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"RSGT", "KRDS", "ZGDD">, "BLAU", GELB, NEUT, R_NEIN, ?, ?);
// kongruent
Trial( ?, <1, 2, 3, 4, 5, 6, 7, 8, 9>, "GELB", "GELB", GELB, KON, R_JA, ?, ?);
Trial( ?, <1, 2, 3>, "GELB", <"ROT", "GRÜN", "BLAU">, GELB, KON, R_NEIN, ?, ?);
// Farbe BLAU // inkongruent
Trial( ?, <1, 2, 3>, <"ROT", "GRÜN", "GELB">, "BLAU", BLAU, INKON, R_JA, ?, ?);
Trial( ?, 1, <"ROT", "GRÜN", "GELB">, <"ROT", "GRÜN", "GELB">, BLAU, INKON, R_NEIN, ?, ?);
// neutral
Trial( ?, 1, <"DNFB", "RHSR", "PMRH">, "BLAU", BLAU, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"RLHZ", "GLDN", "RGRD">, "BLAU", BLAU, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"FNTT", "RPRT", "NSDT">, "BLAU", BLAU, NEUT, R_JA, ?, ?);
Trial( ?, 1, <"TRST", "NSRG", "GNDN">, "ROT", BLAU, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"FPMR", "FZTS", "SNMG">, "GRÜN", BLAU, NEUT, R_NEIN, ?, ?);
Trial( ?, 1, <"SLLM", "RFSM", "DTTH">, "GELB", BLAU, NEUT, R_NEIN, ?, ?);
// kongruent
Trial( ?, <1, 2, 3, 4, 5, 6, 7, 8, 9>, "BLAU", "BLAU", BLAU, KON, R_JA, ?, ?);
Trial( ?, <1, 2, 3>, "BLAU", <"ROT", "GRÜN", "GELB">, BLAU, KON, R_NEIN, ?, ?);
}
}
}
}