Example for Trait Adjective Memory Study


Author
Message
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Wasabi8888 - 7/14/2025
Hi Dave,

Thanks very much for confirming! Just to make sure I understand correctly — by "other values", did you mean variables like RT and latency, or were you referring to something else?

I'm referring to the values chosen for parameters.questionDuration, parameters.wordDuration, and parameters.iti.
Wasabi8888
Wasabi8888
Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)
Group: Forum Members
Posts: 17, Visits: 256
Hi Dave,

Thanks very much for confirming! Just to make sure I understand correctly — by "other values", did you mean variables like RT and latency, or were you referring to something else?

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Wasabi8888 - 7/14/2025
Hi Dave,

Thank you for the clarification! Just to double check, when a response is made, latency is still measured relative to the onset of the word, correct?

I've applied a correction to values.RT when no response is made. Also, could you kindly confirm whether the rest of the trial structure below is consistent with the original description — that is, 2 seconds for the question, 4 seconds for the word (regardless of response), followed by a 1-second blank screen?

Thanks again!

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration//the trial start accepting responses at the onset of the word.
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
values.RT = this.latency;
    if (this.response == 0){
        values.RT = 4000;
    }
}    
</trial>

> Just to double check, when a response is made, latency is still measured relative to the onset of the word, correct?

Yes.

> Also, could you kindly confirm whether the rest of the trial structure below is consistent with the original description — that is, 2 seconds for the question, 4 seconds for the word (regardless of response), followed by a 1-second blank screen?

That is correct, for parameters.questionDuration = 2000, parameters.wordDuration = 4000, and parameters.iti = 1000. For other values, it obviously isn't.
Edited 4 days ago @ 12:11 PM by Dave
Wasabi8888
Wasabi8888
Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)
Group: Forum Members
Posts: 17, Visits: 256
Hi Dave,

Thank you for the clarification! Just to double check, when a response is made, latency is still measured relative to the onset of the word, correct?

I've applied a correction to values.RT when no response is made. Also, could you kindly confirm whether the rest of the trial structure below is consistent with the original description — that is, 2 seconds for the question, 4 seconds for the word (regardless of response), followed by a 1-second blank screen?

Thanks again!

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration//the trial start accepting responses at the onset of the word.
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
values.RT = this.latency;
    if (this.response == 0){
        values.RT = 4000;
    }
}    
</trial>

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Wasabi8888 - 7/14/2025
Hi Dave,

For each trial, the question (e.g., “Does this word describe you?”) should appear for 2 s, followed by the adjective for 4 s (response window), and then a 1 s blank screen. The word should stay on screen for the full 4 s, regardless of response.

I noticed that when no response is made, latency is always recorded as 7000 ms. Shouldn’t it be measured from beginResponseTime (i.e., after the 2-second question)? I’ve set /beginResponseTime = parameters.questionDuration — is there anything wrong with the trial setup below? Should I remove / trialDuration = 7000 and use / response = timeout(parameters.wordDuration)?

Thanks so much!

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);// end of the question presentation
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration); // present word
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration); //end of the word presentation
    
}
/ stimulusTimes = [0=selfQuestion]// start with the question
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration//the trial start accepting responses at the onset of the word.
/ responseInterrupt = frames
/ postTrialPause = parameters.iti //A blank screen for 1 s
/ trialDuration = 7000// 2000+4000+1000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
values.RT = this.latency;
    if (this.response == 0){
        values.RT = "";
    }
}    
</trial>

> I noticed that when no response is made, latency is always recorded as 7000 ms. Shouldn’t it be measured from beginResponseTime (i.e., after the 2-second question)?

Yes, it's a bug. When there's no response, the trial foregoes all the fancy latency calculations and just logs duration. A performance tweak gone awry. It works correctly with /timeout, but that doesn't give you a fixed trial duration of 7 seconds, only a maximum duration. I can't see a workaround for fixed duration, so it's either live with the problem for the time being or apply a correction to values.RT when there's no response.
Wasabi8888
Wasabi8888
Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)
Group: Forum Members
Posts: 17, Visits: 256
Hi Dave,

For each trial, the question (e.g., “Does this word describe you?”) should appear for 2 s, followed by the adjective for 4 s (response window), and then a 1 s blank screen. The word should stay on screen for the full 4 s, regardless of response.

I noticed that when no response is made, latency is always recorded as 7000 ms. Shouldn’t it be measured from beginResponseTime (i.e., after the 2-second question)? I’ve set /beginResponseTime = parameters.questionDuration — is there anything wrong with the trial setup below? Should I remove / trialDuration = 7000 and use / response = timeout(parameters.wordDuration)?

Thanks so much!

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);// end of the question presentation
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration); // present word
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration); //end of the word presentation
    
}
/ stimulusTimes = [0=selfQuestion]// start with the question
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration//the trial start accepting responses at the onset of the word.
/ responseInterrupt = frames
/ postTrialPause = parameters.iti //A blank screen for 1 s
/ trialDuration = 7000// 2000+4000+1000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
values.RT = this.latency;
    if (this.response == 0){
        values.RT = "";
    }
}    
</trial>

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Dave - 7/13/2025
Wasabi8888 - 7/13/2025
Hi Dave,

I was wondering why sometimes only the question (e.g., “Does this word describe you?”) appears on the screen, without the adjective.

What I would like to implement is: on each trial, one of the encoding questions (e.g., “Does this word describe you?”) should be shown for 2 seconds, followed by the adjective displayed for 4 seconds, during which participants make a yes/no response. The adjective should remain on the screen for the full 4 seconds regardless of whether a response is made. Then, a blank screen should be shown for 1 second before the next trial begins.

Would you mind helping me check what might be causing the issue?

<defaults>
/ canvassize = (100%,100%)
/ canvasposition = (50%,50%)
/ canvasAspectRatio = (4,3)
/ minimumVersion = "7.0.0.0"
/ fontStyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txBGColor = white
/ txColor = black
/ screenColor = white
</defaults>

<values>
/ phase = ""
/ encoding_condition = ""
/ word = ""
/ valence = ""
/ target_list = ""
/ Yes_key = ""
/ No_key = ""
/ res = ""
</values>

<parameters>
//design parameters:
/ phaseSetting = 3                    //1 = learning phase only
                                        //2 = test phase only
                                        //3 = learning phase -> break/delay -> test phase

                                        
                                        
//timing parameters
/ delayDurationMs = 600000                //the duration (in ms) of the break inbetween phaseA and phaseB IF APPLICABLE
                                        //default: 10 minutes
/ questionDuration = 2000
/ wordDuration = 4000    //the duration (in ms) that the images are presented during phaseA and phaseB
/ iti = 1000                                //the intertrial interval (in ms): blank screen before the next word is presented in phaseA and phaseB


</parameters>

<expt a1b2c3>
/ onExptBegin = {
         values.res = 1;
                 if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
      if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_self_list1; 2=encoding_semantic_list2; 3=encoding_structural_list3]
/ groups = (1 of 3)
</expt>

<expt b3c1a2>
/ onExptBegin = {
   values.res = 1;
      if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
  if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_semantic_list3; 2=encoding_structural_list1; 3=encoding_self_list2]
/ groups = (2 of 3)
</expt>

<expt c2a3b1>
/ onExptBegin = {
   values.res = 1;
      if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
  if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_structural_list2; 2=encoding_self_list3; 3=encoding_semantic_list1]
/ groups = (3 of 3)
</expt>

<item self_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "outspoken"
/ 7 = "dependable"
/ 8 = "patient"
/ 9 = "admirable"
/ 10 = "relaxed"
/ 11 = "persuasive"
</item>

<item self_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "foolish"
/ 7 = "unhealthy"
/ 8 = "ordinary"
/ 9 = "sloppy"
/ 10 = "abusive"
/ 11 = "irrational"
</item>

<item self_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "nonchalant"
/ 7 = "realist"
/ 8 = "energetic"
/ 9 = "grateful"
/ 10 = "ambitious"
/ 11 = "serious"
</item>

<item self_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "demanding"
/ 7 = "jealous"
/ 8 = "annoying"
/ 9 = "changeable"
/ 10 = "nervous"
/ 11 = "worrier"
</item>

<item self_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "optimistic"
/ 7 = "active"
/ 8 = "precise"
/ 9 = "humorous"
/ 10 = "excitable"
/ 11 = "daring"
</item>

<item self_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "unlucky"
/ 7 = "scheming"
/ 8 = "unstudious"
/ 9 = "malicious"
/ 10 = "unpleasant"
/ 11 = "meddlesome"
</item>

<item semantic_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "outspoken"
/ 7 = "dependable"
/ 8 = "patient"
/ 9 = "admirable"
/ 10 = "relaxed"
/ 11 = "persuasive"
</item>

<item semantic_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "foolish"
/ 7 = "unhealthy"
/ 8 = "ordinary"
/ 9 = "sloppy"
/ 10 = "abusive"
/ 11 = "irrational"
</item>

<item semantic_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "nonchalant"
/ 7 = "realist"
/ 8 = "energetic"
/ 9 = "grateful"
/ 10 = "ambitious"
/ 11 = "serious"
</item>

<item semantic_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "demanding"
/ 7 = "jealous"
/ 8 = "annoying"
/ 9 = "changeable"
/ 10 = "nervous"
/ 11 = "worrier"
</item>

<item semantic_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "optimistic"
/ 7 = "active"
/ 8 = "precise"
/ 9 = "humorous"
/ 10 = "excitable"
/ 11 = "daring"
</item>

<item semantic_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "unlucky"
/ 7 = "scheming"
/ 8 = "unstudious"
/ 9 = "malicious"
/ 10 = "unpleasant"
/ 11 = "meddlesome"
</item>

<item structural_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "OUTSPOKEN"
/ 7 = "DEPENDABLE"
/ 8 = "PATIENT"
/ 9 = "ADMIRABLE"
/ 10 = "RELAXED"
/ 11 = "PERSUASIVE"
</item>

<item structural_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "FOOLISH"
/ 7 = "UNHEALTHY"
/ 8 = "ORDINARY"
/ 9 = "SLOPPY"
/ 10 = "ABUSIVE"
/ 11 = "IRRATIONAL"
</item>

<item structural_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "NONCHALANT"
/ 7 = "REALIST"
/ 8 = "ENERGETIC"
/ 9 = "GRATEFUL"
/ 10 = "AMBITIOUS"
/ 11 = "SERIOUS"
</item>

<item structural_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "DEMANDING"
/ 7 = "JEALOUS"
/ 8 = "ANNOYING"
/ 9 = "CHANGEABLE"
/ 10 = "NERVOUS"
/ 11 = "WORRIER"
</item>

<item structural_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "OPTIMISTIC"
/ 7 = "ACTIVE"
/ 8 = "PRECISE"
/ 9 = "HUMOROUS"
/ 10 = "EXCITABLE"
/ 11 = "DARING"
</item>

<item structural_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "UNLUCKY"
/ 7 = "SCHEMING"
/ 8 = "UNSTUDIOUS"
/ 9 = "MALICIOUS"
/ 10 = "UNPLEASANT"
/ 11 = "MEDDLESOME"
</item>


<text self_target1_negative>
/ items = self_targetList1_negative
</text>

<text self_target1_positive>
/ items = self_targetList1_positive
</text>

<text self_target2_negative>
/ items = self_targetList2_negative
</text>

<text self_target2_positive>
/ items = self_targetList2_positive
</text>

<text self_target3_negative>
/ items = self_targetList3_negative
</text>

<text self_target3_positive>
/ items = self_targetList3_positive
</text>

<text semantic_target1_negative>
/ items = semantic_targetList1_negative
</text>

<text semantic_target1_positive>
/ items = semantic_targetList1_positive
</text>

<text semantic_target2_negative>
/ items = semantic_targetList2_negative
</text>

<text semantic_target2_positive>
/ items = semantic_targetList2_positive
</text>

<text semantic_target3_negative>
/ items = semantic_targetList3_negative
</text>

<text semantic_target3_positive>
/ items = semantic_targetList3_positive
</text>

<text structural_target1_negative>
/ items = structural_targetList1_negative
</text>

<text structural_target1_positive>
/ items = structural_targetList1_positive
</text>

<text structural_target2_negative>
/ items = structural_targetList2_negative
</text>

<text structural_target2_positive>
/ items = structural_targetList2_positive
</text>

<text structural_target3_negative>
/ items = structural_targetList3_negative
</text>

<text structural_target3_positive>
/ items = structural_targetList3_positive
</text>


// self-referential condition
<block encoding_self_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_self_list1_positive, encoding_self_list1_negative);]
</block>

<block encoding_self_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_self_list2_positive, encoding_self_list2_negative);]
</block>

<block encoding_self_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_self_list3_positive, encoding_self_list3_negative);]
</block>

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
}    
</trial>

<trial encoding_self_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_negative, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_negative.resetStimulusFrames();
values.word = text.self_target1_negative.currentItem;
}    
</trial>

<trial encoding_self_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list2_positive.insertStimulusTime(text.self_target2_positive, parameters.questionDuration);
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list2_positive.resetStimulusFrames();
values.word = text.self_target2_positive.currentItem;
}    
</trial>

<trial encoding_self_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list2_positive.insertStimulusTime(text.self_target2_negative, parameters.questionDuration);
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list2_negative.resetStimulusFrames();
values.word = text.self_target2_negative.currentItem;
}    
</trial>

<trial encoding_self_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list3_positive.insertStimulusTime(text.self_target3_positive, parameters.questionDuration);
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list3_positive.resetStimulusFrames();
values.word = text.self_target3_positive.currentItem;
}    
</trial>

<trial encoding_self_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list3_positive.insertStimulusTime(text.self_target3_negative, parameters.questionDuration);
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list3_negative.resetStimulusFrames();
values.word = text.self_target3_negative.currentItem;
}    
</trial>

<text selfQuestion>
/ items = ("Does this word describe you?")
/ position = (50%, 50%)
</text>

// semantic encoding
<block encoding_semantic_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_semantic_list1_positive, encoding_semantic_list1_negative);]
</block>

<block encoding_semantic_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_semantic_list2_positive, encoding_semantic_list2_negative);]
</block>

<block encoding_semantic_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_semantic_list3_positive, encoding_semantic_list3_negative);]
</block>

<trial encoding_semantic_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list1_positive.insertStimulusTime(text.semantic_target1_positive, parameters.questionDuration);
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list1_positive.resetStimulusFrames();
values.word = text.semantic_target1_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list1_positive.insertStimulusTime(text.semantic_target1_negative, parameters.questionDuration);
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list1_negative.resetStimulusFrames();
values.word = text.semantic_target1_negative.currentItem;
}    
</trial>

<trial encoding_semantic_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list2_positive.insertStimulusTime(text.semantic_target2_positive, parameters.questionDuration);
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list2_positive.resetStimulusFrames();
values.word = text.semantic_target2_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list2_positive.insertStimulusTime(text.semantic_target2_negative, parameters.questionDuration);
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list2_negative.resetStimulusFrames();
values.word = text.semantic_target2_negative.currentItem;
}    
</trial>

<trial encoding_semantic_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list3_positive.insertStimulusTime(text.semantic_target3_positive, parameters.questionDuration);
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list3_positive.resetStimulusFrames();
values.word = text.semantic_target3_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list3_positive.insertStimulusTime(text.semantic_target3_negative, parameters.questionDuration);
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list3_negative.resetStimulusFrames();
values.word = text.semantic_target3_negative.currentItem;
}    
</trial>

<text semanticQuestion>
/ items = ("Is the dictionary definition of this word positive?")
/ position = (50%, 50%)
</text>


// structural encoding
<block encoding_structural_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_structural_list1_positive, encoding_structural_list1_negative);]
</block>

<block encoding_structural_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_structural_list2_positive, encoding_structural_list2_negative);]
</block>

<block encoding_structural_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_structural_list3_positive, encoding_structural_list3_negative);]
</block>

<trial encoding_structural_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list1_positive.insertStimulusTime(text.structural_target1_positive, parameters.questionDuration);
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list1_positive.resetStimulusFrames();
values.word = text.structural_target1_positive.currentItem;
}    
</trial>

<trial encoding_structural_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list1_positive.insertStimulusTime(text.structural_target1_negative, parameters.questionDuration);
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list1_negative.resetStimulusFrames();
values.word = text.structural_target1_negative.currentItem;
}    
</trial>

<trial encoding_structural_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list2_positive.insertStimulusTime(text.structural_target2_positive, parameters.questionDuration);
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list2_positive.resetStimulusFrames();
values.word = text.structural_target2_positive.currentItem;
}    
</trial>

<trial encoding_structural_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list2_positive.insertStimulusTime(text.structural_target2_negative, parameters.questionDuration);
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list2_negative.resetStimulusFrames();
values.word = text.structural_target2_negative.currentItem;
}    
</trial>

<trial encoding_structural_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list3_positive.insertStimulusTime(text.structural_target3_positive, parameters.questionDuration);
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list3_positive.resetStimulusFrames();
values.word = text.structural_target3_positive.currentItem;
}    
</trial>

<trial encoding_structural_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list3_positive.insertStimulusTime(text.structural_target3_negative, parameters.questionDuration);
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list3_negative.resetStimulusFrames();
values.word = text.structural_target3_negative.currentItem;
}    
</trial>


<text structuralQuestion>
/ items = ("Is this word typed in upper case letters?")
/ position = (50%, 50%)
</text>

If you want others to be able to make sense of your code and what you intend it to do, you ought to comment it. Once you've done that, I am willing to take a look.



Above one mistake. You're inserting the stimuli into the wrong trial altogether (the positive trial), so of course they're not showing up in the negative trial then. I'm not going to go through the whole thing, you now know what to look out for. What I said before stands nonetheless: Please properly comment your code going forward. 
Edited 4 days ago @ 4:12 PM by Dave
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Wasabi8888 - 7/13/2025
Hi Dave,

I was wondering why sometimes only the question (e.g., “Does this word describe you?”) appears on the screen, without the adjective.

What I would like to implement is: on each trial, one of the encoding questions (e.g., “Does this word describe you?”) should be shown for 2 seconds, followed by the adjective displayed for 4 seconds, during which participants make a yes/no response. The adjective should remain on the screen for the full 4 seconds regardless of whether a response is made. Then, a blank screen should be shown for 1 second before the next trial begins.

Would you mind helping me check what might be causing the issue?

<defaults>
/ canvassize = (100%,100%)
/ canvasposition = (50%,50%)
/ canvasAspectRatio = (4,3)
/ minimumVersion = "7.0.0.0"
/ fontStyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txBGColor = white
/ txColor = black
/ screenColor = white
</defaults>

<values>
/ phase = ""
/ encoding_condition = ""
/ word = ""
/ valence = ""
/ target_list = ""
/ Yes_key = ""
/ No_key = ""
/ res = ""
</values>

<parameters>
//design parameters:
/ phaseSetting = 3                    //1 = learning phase only
                                        //2 = test phase only
                                        //3 = learning phase -> break/delay -> test phase

                                        
                                        
//timing parameters
/ delayDurationMs = 600000                //the duration (in ms) of the break inbetween phaseA and phaseB IF APPLICABLE
                                        //default: 10 minutes
/ questionDuration = 2000
/ wordDuration = 4000    //the duration (in ms) that the images are presented during phaseA and phaseB
/ iti = 1000                                //the intertrial interval (in ms): blank screen before the next word is presented in phaseA and phaseB


</parameters>

<expt a1b2c3>
/ onExptBegin = {
         values.res = 1;
                 if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
      if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_self_list1; 2=encoding_semantic_list2; 3=encoding_structural_list3]
/ groups = (1 of 3)
</expt>

<expt b3c1a2>
/ onExptBegin = {
   values.res = 1;
      if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
  if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_semantic_list3; 2=encoding_structural_list1; 3=encoding_self_list2]
/ groups = (2 of 3)
</expt>

<expt c2a3b1>
/ onExptBegin = {
   values.res = 1;
      if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
  if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_structural_list2; 2=encoding_self_list3; 3=encoding_semantic_list1]
/ groups = (3 of 3)
</expt>

<item self_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "outspoken"
/ 7 = "dependable"
/ 8 = "patient"
/ 9 = "admirable"
/ 10 = "relaxed"
/ 11 = "persuasive"
</item>

<item self_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "foolish"
/ 7 = "unhealthy"
/ 8 = "ordinary"
/ 9 = "sloppy"
/ 10 = "abusive"
/ 11 = "irrational"
</item>

<item self_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "nonchalant"
/ 7 = "realist"
/ 8 = "energetic"
/ 9 = "grateful"
/ 10 = "ambitious"
/ 11 = "serious"
</item>

<item self_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "demanding"
/ 7 = "jealous"
/ 8 = "annoying"
/ 9 = "changeable"
/ 10 = "nervous"
/ 11 = "worrier"
</item>

<item self_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "optimistic"
/ 7 = "active"
/ 8 = "precise"
/ 9 = "humorous"
/ 10 = "excitable"
/ 11 = "daring"
</item>

<item self_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "unlucky"
/ 7 = "scheming"
/ 8 = "unstudious"
/ 9 = "malicious"
/ 10 = "unpleasant"
/ 11 = "meddlesome"
</item>

<item semantic_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "outspoken"
/ 7 = "dependable"
/ 8 = "patient"
/ 9 = "admirable"
/ 10 = "relaxed"
/ 11 = "persuasive"
</item>

<item semantic_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "foolish"
/ 7 = "unhealthy"
/ 8 = "ordinary"
/ 9 = "sloppy"
/ 10 = "abusive"
/ 11 = "irrational"
</item>

<item semantic_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "nonchalant"
/ 7 = "realist"
/ 8 = "energetic"
/ 9 = "grateful"
/ 10 = "ambitious"
/ 11 = "serious"
</item>

<item semantic_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "demanding"
/ 7 = "jealous"
/ 8 = "annoying"
/ 9 = "changeable"
/ 10 = "nervous"
/ 11 = "worrier"
</item>

<item semantic_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "optimistic"
/ 7 = "active"
/ 8 = "precise"
/ 9 = "humorous"
/ 10 = "excitable"
/ 11 = "daring"
</item>

<item semantic_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "unlucky"
/ 7 = "scheming"
/ 8 = "unstudious"
/ 9 = "malicious"
/ 10 = "unpleasant"
/ 11 = "meddlesome"
</item>

<item structural_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "OUTSPOKEN"
/ 7 = "DEPENDABLE"
/ 8 = "PATIENT"
/ 9 = "ADMIRABLE"
/ 10 = "RELAXED"
/ 11 = "PERSUASIVE"
</item>

<item structural_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "FOOLISH"
/ 7 = "UNHEALTHY"
/ 8 = "ORDINARY"
/ 9 = "SLOPPY"
/ 10 = "ABUSIVE"
/ 11 = "IRRATIONAL"
</item>

<item structural_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "NONCHALANT"
/ 7 = "REALIST"
/ 8 = "ENERGETIC"
/ 9 = "GRATEFUL"
/ 10 = "AMBITIOUS"
/ 11 = "SERIOUS"
</item>

<item structural_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "DEMANDING"
/ 7 = "JEALOUS"
/ 8 = "ANNOYING"
/ 9 = "CHANGEABLE"
/ 10 = "NERVOUS"
/ 11 = "WORRIER"
</item>

<item structural_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "OPTIMISTIC"
/ 7 = "ACTIVE"
/ 8 = "PRECISE"
/ 9 = "HUMOROUS"
/ 10 = "EXCITABLE"
/ 11 = "DARING"
</item>

<item structural_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "UNLUCKY"
/ 7 = "SCHEMING"
/ 8 = "UNSTUDIOUS"
/ 9 = "MALICIOUS"
/ 10 = "UNPLEASANT"
/ 11 = "MEDDLESOME"
</item>


<text self_target1_negative>
/ items = self_targetList1_negative
</text>

<text self_target1_positive>
/ items = self_targetList1_positive
</text>

<text self_target2_negative>
/ items = self_targetList2_negative
</text>

<text self_target2_positive>
/ items = self_targetList2_positive
</text>

<text self_target3_negative>
/ items = self_targetList3_negative
</text>

<text self_target3_positive>
/ items = self_targetList3_positive
</text>

<text semantic_target1_negative>
/ items = semantic_targetList1_negative
</text>

<text semantic_target1_positive>
/ items = semantic_targetList1_positive
</text>

<text semantic_target2_negative>
/ items = semantic_targetList2_negative
</text>

<text semantic_target2_positive>
/ items = semantic_targetList2_positive
</text>

<text semantic_target3_negative>
/ items = semantic_targetList3_negative
</text>

<text semantic_target3_positive>
/ items = semantic_targetList3_positive
</text>

<text structural_target1_negative>
/ items = structural_targetList1_negative
</text>

<text structural_target1_positive>
/ items = structural_targetList1_positive
</text>

<text structural_target2_negative>
/ items = structural_targetList2_negative
</text>

<text structural_target2_positive>
/ items = structural_targetList2_positive
</text>

<text structural_target3_negative>
/ items = structural_targetList3_negative
</text>

<text structural_target3_positive>
/ items = structural_targetList3_positive
</text>


// self-referential condition
<block encoding_self_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_self_list1_positive, encoding_self_list1_negative);]
</block>

<block encoding_self_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_self_list2_positive, encoding_self_list2_negative);]
</block>

<block encoding_self_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_self_list3_positive, encoding_self_list3_negative);]
</block>

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
}    
</trial>

<trial encoding_self_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_negative, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_negative.resetStimulusFrames();
values.word = text.self_target1_negative.currentItem;
}    
</trial>

<trial encoding_self_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list2_positive.insertStimulusTime(text.self_target2_positive, parameters.questionDuration);
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list2_positive.resetStimulusFrames();
values.word = text.self_target2_positive.currentItem;
}    
</trial>

<trial encoding_self_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list2_positive.insertStimulusTime(text.self_target2_negative, parameters.questionDuration);
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list2_negative.resetStimulusFrames();
values.word = text.self_target2_negative.currentItem;
}    
</trial>

<trial encoding_self_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list3_positive.insertStimulusTime(text.self_target3_positive, parameters.questionDuration);
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list3_positive.resetStimulusFrames();
values.word = text.self_target3_positive.currentItem;
}    
</trial>

<trial encoding_self_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list3_positive.insertStimulusTime(text.self_target3_negative, parameters.questionDuration);
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list3_negative.resetStimulusFrames();
values.word = text.self_target3_negative.currentItem;
}    
</trial>

<text selfQuestion>
/ items = ("Does this word describe you?")
/ position = (50%, 50%)
</text>

// semantic encoding
<block encoding_semantic_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_semantic_list1_positive, encoding_semantic_list1_negative);]
</block>

<block encoding_semantic_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_semantic_list2_positive, encoding_semantic_list2_negative);]
</block>

<block encoding_semantic_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_semantic_list3_positive, encoding_semantic_list3_negative);]
</block>

<trial encoding_semantic_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list1_positive.insertStimulusTime(text.semantic_target1_positive, parameters.questionDuration);
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list1_positive.resetStimulusFrames();
values.word = text.semantic_target1_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list1_positive.insertStimulusTime(text.semantic_target1_negative, parameters.questionDuration);
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list1_negative.resetStimulusFrames();
values.word = text.semantic_target1_negative.currentItem;
}    
</trial>

<trial encoding_semantic_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list2_positive.insertStimulusTime(text.semantic_target2_positive, parameters.questionDuration);
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list2_positive.resetStimulusFrames();
values.word = text.semantic_target2_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list2_positive.insertStimulusTime(text.semantic_target2_negative, parameters.questionDuration);
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list2_negative.resetStimulusFrames();
values.word = text.semantic_target2_negative.currentItem;
}    
</trial>

<trial encoding_semantic_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list3_positive.insertStimulusTime(text.semantic_target3_positive, parameters.questionDuration);
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list3_positive.resetStimulusFrames();
values.word = text.semantic_target3_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list3_positive.insertStimulusTime(text.semantic_target3_negative, parameters.questionDuration);
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list3_negative.resetStimulusFrames();
values.word = text.semantic_target3_negative.currentItem;
}    
</trial>

<text semanticQuestion>
/ items = ("Is the dictionary definition of this word positive?")
/ position = (50%, 50%)
</text>


// structural encoding
<block encoding_structural_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_structural_list1_positive, encoding_structural_list1_negative);]
</block>

<block encoding_structural_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_structural_list2_positive, encoding_structural_list2_negative);]
</block>

<block encoding_structural_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_structural_list3_positive, encoding_structural_list3_negative);]
</block>

<trial encoding_structural_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list1_positive.insertStimulusTime(text.structural_target1_positive, parameters.questionDuration);
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list1_positive.resetStimulusFrames();
values.word = text.structural_target1_positive.currentItem;
}    
</trial>

<trial encoding_structural_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list1_positive.insertStimulusTime(text.structural_target1_negative, parameters.questionDuration);
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list1_negative.resetStimulusFrames();
values.word = text.structural_target1_negative.currentItem;
}    
</trial>

<trial encoding_structural_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list2_positive.insertStimulusTime(text.structural_target2_positive, parameters.questionDuration);
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list2_positive.resetStimulusFrames();
values.word = text.structural_target2_positive.currentItem;
}    
</trial>

<trial encoding_structural_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list2_positive.insertStimulusTime(text.structural_target2_negative, parameters.questionDuration);
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list2_negative.resetStimulusFrames();
values.word = text.structural_target2_negative.currentItem;
}    
</trial>

<trial encoding_structural_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list3_positive.insertStimulusTime(text.structural_target3_positive, parameters.questionDuration);
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list3_positive.resetStimulusFrames();
values.word = text.structural_target3_positive.currentItem;
}    
</trial>

<trial encoding_structural_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list3_positive.insertStimulusTime(text.structural_target3_negative, parameters.questionDuration);
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list3_negative.resetStimulusFrames();
values.word = text.structural_target3_negative.currentItem;
}    
</trial>


<text structuralQuestion>
/ items = ("Is this word typed in upper case letters?")
/ position = (50%, 50%)
</text>

If you want others to be able to make sense of your code and what you intend it to do, you ought to comment it. Once you've done that, I'll be happy to take a look.
Edited 4 days ago @ 4:11 PM by Dave
Wasabi8888
Wasabi8888
Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)Associate Member (150 reputation)
Group: Forum Members
Posts: 17, Visits: 256
Hi Dave,

I was wondering why sometimes only the question (e.g., “Does this word describe you?”) appears on the screen, without the adjective.

What I would like to implement is: on each trial, one of the encoding questions (e.g., “Does this word describe you?”) should be shown for 2 seconds, followed by the adjective displayed for 4 seconds, during which participants make a yes/no response. The adjective should remain on the screen for the full 4 seconds regardless of whether a response is made. Then, a blank screen should be shown for 1 second before the next trial begins.

Would you mind helping me check what might be causing the issue?

<defaults>
/ canvassize = (100%,100%)
/ canvasposition = (50%,50%)
/ canvasAspectRatio = (4,3)
/ minimumVersion = "7.0.0.0"
/ fontStyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txBGColor = white
/ txColor = black
/ screenColor = white
</defaults>

<values>
/ phase = ""
/ encoding_condition = ""
/ word = ""
/ valence = ""
/ target_list = ""
/ Yes_key = ""
/ No_key = ""
/ res = ""
</values>

<parameters>
//design parameters:
/ phaseSetting = 3                    //1 = learning phase only
                                        //2 = test phase only
                                        //3 = learning phase -> break/delay -> test phase

                                        
                                        
//timing parameters
/ delayDurationMs = 600000                //the duration (in ms) of the break inbetween phaseA and phaseB IF APPLICABLE
                                        //default: 10 minutes
/ questionDuration = 2000
/ wordDuration = 4000    //the duration (in ms) that the images are presented during phaseA and phaseB
/ iti = 1000                                //the intertrial interval (in ms): blank screen before the next word is presented in phaseA and phaseB


</parameters>

<expt a1b2c3>
/ onExptBegin = {
         values.res = 1;
                 if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
      if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_self_list1; 2=encoding_semantic_list2; 3=encoding_structural_list3]
/ groups = (1 of 3)
</expt>

<expt b3c1a2>
/ onExptBegin = {
   values.res = 1;
      if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
  if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_semantic_list3; 2=encoding_structural_list1; 3=encoding_self_list2]
/ groups = (2 of 3)
</expt>

<expt c2a3b1>
/ onExptBegin = {
   values.res = 1;
      if (values.res == "1") {values.Yes_key = "V"; values.No_key = "B"}
  if (values.res == "2") {values.Yes_key = "B"; values.No_key = "V"}
}
/ blocks = [1=encoding_structural_list2; 2=encoding_self_list3; 3=encoding_semantic_list1]
/ groups = (3 of 3)
</expt>

<item self_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "outspoken"
/ 7 = "dependable"
/ 8 = "patient"
/ 9 = "admirable"
/ 10 = "relaxed"
/ 11 = "persuasive"
</item>

<item self_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "foolish"
/ 7 = "unhealthy"
/ 8 = "ordinary"
/ 9 = "sloppy"
/ 10 = "abusive"
/ 11 = "irrational"
</item>

<item self_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "nonchalant"
/ 7 = "realist"
/ 8 = "energetic"
/ 9 = "grateful"
/ 10 = "ambitious"
/ 11 = "serious"
</item>

<item self_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "demanding"
/ 7 = "jealous"
/ 8 = "annoying"
/ 9 = "changeable"
/ 10 = "nervous"
/ 11 = "worrier"
</item>

<item self_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "optimistic"
/ 7 = "active"
/ 8 = "precise"
/ 9 = "humorous"
/ 10 = "excitable"
/ 11 = "daring"
</item>

<item self_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "unlucky"
/ 7 = "scheming"
/ 8 = "unstudious"
/ 9 = "malicious"
/ 10 = "unpleasant"
/ 11 = "meddlesome"
</item>

<item semantic_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "outspoken"
/ 7 = "dependable"
/ 8 = "patient"
/ 9 = "admirable"
/ 10 = "relaxed"
/ 11 = "persuasive"
</item>

<item semantic_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "foolish"
/ 7 = "unhealthy"
/ 8 = "ordinary"
/ 9 = "sloppy"
/ 10 = "abusive"
/ 11 = "irrational"
</item>

<item semantic_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "nonchalant"
/ 7 = "realist"
/ 8 = "energetic"
/ 9 = "grateful"
/ 10 = "ambitious"
/ 11 = "serious"
</item>

<item semantic_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "demanding"
/ 7 = "jealous"
/ 8 = "annoying"
/ 9 = "changeable"
/ 10 = "nervous"
/ 11 = "worrier"
</item>

<item semantic_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "optimistic"
/ 7 = "active"
/ 8 = "precise"
/ 9 = "humorous"
/ 10 = "excitable"
/ 11 = "daring"
</item>

<item semantic_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "unlucky"
/ 7 = "scheming"
/ 8 = "unstudious"
/ 9 = "malicious"
/ 10 = "unpleasant"
/ 11 = "meddlesome"
</item>

<item structural_targetList1_positive>
/ 0 = "prompt"
/ 1 = "punctual"
/ 2 = "bright"
/ 3 = "shrewd"
/ 4 = "attentive"
/ 5 = "cautious"
/ 6 = "OUTSPOKEN"
/ 7 = "DEPENDABLE"
/ 8 = "PATIENT"
/ 9 = "ADMIRABLE"
/ 10 = "RELAXED"
/ 11 = "PERSUASIVE"
</item>

<item structural_targetList1_negative>
/ 0 = "melancholy"
/ 1 = "scolding"
/ 2 = "dominating"
/ 3 = "wasteful"
/ 4 = "skeptical"
/ 5 = "ungraceful"
/ 6 = "FOOLISH"
/ 7 = "UNHEALTHY"
/ 8 = "ORDINARY"
/ 9 = "SLOPPY"
/ 10 = "ABUSIVE"
/ 11 = "IRRATIONAL"
</item>

<item structural_targetList2_positive>
/ 0 = "consistent"
/ 1 = "prideful"
/ 2 = "forward"
/ 3 = "ingenious"
/ 4 = "skilled"
/ 5 = "amusing"
/ 6 = "NONCHALANT"
/ 7 = "REALIST"
/ 8 = "ENERGETIC"
/ 9 = "GRATEFUL"
/ 10 = "AMBITIOUS"
/ 11 = "SERIOUS"
</item>

<item structural_targetList2_negative>
/ 0 = "headstrong"
/ 1 = "unskilled"
/ 2 = "bashful"
/ 3 = "lifeless"
/ 4 = "unpunctual"
/ 5 = "antisocial"
/ 6 = "DEMANDING"
/ 7 = "JEALOUS"
/ 8 = "ANNOYING"
/ 9 = "CHANGEABLE"
/ 10 = "NERVOUS"
/ 11 = "WORRIER"
</item>

<item structural_targetList3_positive>
/ 0 = "clever"
/ 1 = "generous"
/ 2 = "observant"
/ 3 = "tactful"
/ 4 = "trustful"
/ 5 = "direct"
/ 6 = "OPTIMISTIC"
/ 7 = "ACTIVE"
/ 8 = "PRECISE"
/ 9 = "HUMOROUS"
/ 10 = "EXCITABLE"
/ 11 = "DARING"
</item>

<item structural_targetList3_negative>
/ 0 = "inhibited"
/ 1 = "insincere"
/ 2 = "undecided"
/ 3 = "lonely"
/ 4 = "indecisive"
/ 5 = "snobbish"
/ 6 = "UNLUCKY"
/ 7 = "SCHEMING"
/ 8 = "UNSTUDIOUS"
/ 9 = "MALICIOUS"
/ 10 = "UNPLEASANT"
/ 11 = "MEDDLESOME"
</item>


<text self_target1_negative>
/ items = self_targetList1_negative
</text>

<text self_target1_positive>
/ items = self_targetList1_positive
</text>

<text self_target2_negative>
/ items = self_targetList2_negative
</text>

<text self_target2_positive>
/ items = self_targetList2_positive
</text>

<text self_target3_negative>
/ items = self_targetList3_negative
</text>

<text self_target3_positive>
/ items = self_targetList3_positive
</text>

<text semantic_target1_negative>
/ items = semantic_targetList1_negative
</text>

<text semantic_target1_positive>
/ items = semantic_targetList1_positive
</text>

<text semantic_target2_negative>
/ items = semantic_targetList2_negative
</text>

<text semantic_target2_positive>
/ items = semantic_targetList2_positive
</text>

<text semantic_target3_negative>
/ items = semantic_targetList3_negative
</text>

<text semantic_target3_positive>
/ items = semantic_targetList3_positive
</text>

<text structural_target1_negative>
/ items = structural_targetList1_negative
</text>

<text structural_target1_positive>
/ items = structural_targetList1_positive
</text>

<text structural_target2_negative>
/ items = structural_targetList2_negative
</text>

<text structural_target2_positive>
/ items = structural_targetList2_positive
</text>

<text structural_target3_negative>
/ items = structural_targetList3_negative
</text>

<text structural_target3_positive>
/ items = structural_targetList3_positive
</text>


// self-referential condition
<block encoding_self_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_self_list1_positive, encoding_self_list1_negative);]
</block>

<block encoding_self_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_self_list2_positive, encoding_self_list2_negative);]
</block>

<block encoding_self_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="self-referential";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_self_list3_positive, encoding_self_list3_negative);]
</block>

<trial encoding_self_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_positive, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_positive.resetStimulusFrames();
values.word = text.self_target1_positive.currentItem;
}    
</trial>

<trial encoding_self_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list1_positive.insertStimulusTime(text.self_target1_negative, parameters.questionDuration);
    trial.encoding_self_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list1_negative.resetStimulusFrames();
values.word = text.self_target1_negative.currentItem;
}    
</trial>

<trial encoding_self_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list2_positive.insertStimulusTime(text.self_target2_positive, parameters.questionDuration);
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list2_positive.resetStimulusFrames();
values.word = text.self_target2_positive.currentItem;
}    
</trial>

<trial encoding_self_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list2_positive.insertStimulusTime(text.self_target2_negative, parameters.questionDuration);
    trial.encoding_self_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list2_negative.resetStimulusFrames();
values.word = text.self_target2_negative.currentItem;
}    
</trial>

<trial encoding_self_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list3_positive.insertStimulusTime(text.self_target3_positive, parameters.questionDuration);
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list3_positive.resetStimulusFrames();
values.word = text.self_target3_positive.currentItem;
}    
</trial>

<trial encoding_self_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_self_list3_positive.insertStimulusTime(text.self_target3_negative, parameters.questionDuration);
    trial.encoding_self_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=selfQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_self_list3_negative.resetStimulusFrames();
values.word = text.self_target3_negative.currentItem;
}    
</trial>

<text selfQuestion>
/ items = ("Does this word describe you?")
/ position = (50%, 50%)
</text>

// semantic encoding
<block encoding_semantic_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_semantic_list1_positive, encoding_semantic_list1_negative);]
</block>

<block encoding_semantic_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_semantic_list2_positive, encoding_semantic_list2_negative);]
</block>

<block encoding_semantic_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="semantic";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_semantic_list3_positive, encoding_semantic_list3_negative);]
</block>

<trial encoding_semantic_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list1_positive.insertStimulusTime(text.semantic_target1_positive, parameters.questionDuration);
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list1_positive.resetStimulusFrames();
values.word = text.semantic_target1_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list1_positive.insertStimulusTime(text.semantic_target1_negative, parameters.questionDuration);
    trial.encoding_semantic_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list1_negative.resetStimulusFrames();
values.word = text.semantic_target1_negative.currentItem;
}    
</trial>

<trial encoding_semantic_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list2_positive.insertStimulusTime(text.semantic_target2_positive, parameters.questionDuration);
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list2_positive.resetStimulusFrames();
values.word = text.semantic_target2_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list2_positive.insertStimulusTime(text.semantic_target2_negative, parameters.questionDuration);
    trial.encoding_semantic_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list2_negative.resetStimulusFrames();
values.word = text.semantic_target2_negative.currentItem;
}    
</trial>

<trial encoding_semantic_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list3_positive.insertStimulusTime(text.semantic_target3_positive, parameters.questionDuration);
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list3_positive.resetStimulusFrames();
values.word = text.semantic_target3_positive.currentItem;
}    
</trial>

<trial encoding_semantic_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_semantic_list3_positive.insertStimulusTime(text.semantic_target3_negative, parameters.questionDuration);
    trial.encoding_semantic_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=semanticQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_semantic_list3_negative.resetStimulusFrames();
values.word = text.semantic_target3_negative.currentItem;
}    
</trial>

<text semanticQuestion>
/ items = ("Is the dictionary definition of this word positive?")
/ position = (50%, 50%)
</text>


// structural encoding
<block encoding_structural_list1>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list1";
}
/ trials = [1-24 = noreplace(encoding_structural_list1_positive, encoding_structural_list1_negative);]
</block>

<block encoding_structural_list2>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list2";
}
/ trials = [1-24 = noreplace(encoding_structural_list2_positive, encoding_structural_list2_negative);]
</block>

<block encoding_structural_list3>
/ onBlockBegin = {
    values.phase = "Encoding";
    values.encoding_condition ="structural";
    values.target_list = "list3";
}
/ trials = [1-24 = noreplace(encoding_structural_list3_positive, encoding_structural_list3_negative);]
</block>

<trial encoding_structural_list1_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list1_positive.insertStimulusTime(text.structural_target1_positive, parameters.questionDuration);
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list1_positive.resetStimulusFrames();
values.word = text.structural_target1_positive.currentItem;
}    
</trial>

<trial encoding_structural_list1_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list1_positive.insertStimulusTime(text.structural_target1_negative, parameters.questionDuration);
    trial.encoding_structural_list1_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list1_negative.resetStimulusFrames();
values.word = text.structural_target1_negative.currentItem;
}    
</trial>

<trial encoding_structural_list2_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list2_positive.insertStimulusTime(text.structural_target2_positive, parameters.questionDuration);
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list2_positive.resetStimulusFrames();
values.word = text.structural_target2_positive.currentItem;
}    
</trial>

<trial encoding_structural_list2_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list2_positive.insertStimulusTime(text.structural_target2_negative, parameters.questionDuration);
    trial.encoding_structural_list2_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list2_negative.resetStimulusFrames();
values.word = text.structural_target2_negative.currentItem;
}    
</trial>

<trial encoding_structural_list3_positive>
/ onTrialBegin = {values.valence = "positive";
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list3_positive.insertStimulusTime(text.structural_target3_positive, parameters.questionDuration);
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list3_positive.resetStimulusFrames();
values.word = text.structural_target3_positive.currentItem;
}    
</trial>

<trial encoding_structural_list3_negative>
/ onTrialBegin = {values.valence = "negative";
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration);
  trial.encoding_structural_list3_positive.insertStimulusTime(text.structural_target3_negative, parameters.questionDuration);
    trial.encoding_structural_list3_positive.insertStimulusTime(clearScreen, parameters.questionDuration+parameters.wordDuration);
    
}
/ stimulusTimes = [0=structuralQuestion]
/ validResponse = (values.Yes_key, values.No_key)
/ beginResponseTime = parameters.questionDuration
/ responseInterrupt = frames
/ postTrialPause = parameters.iti
/ trialDuration = 7000
/ onTrialEnd = {trial.encoding_structural_list3_negative.resetStimulusFrames();
values.word = text.structural_target3_negative.currentItem;
}    
</trial>


<text structuralQuestion>
/ items = ("Is this word typed in upper case letters?")
/ position = (50%, 50%)
</text>

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Wasabi8888 - 7/11/2025
Hi Dave,

Thank you so much for your example!

I have one more question—if I’d like to separate positive and negative words (because I want to record word valence), is there a more elegant or efficient way to do it?

For now, I’ve created separate trials for positive and negative items like this:

<expt a1b2c3>
/ blocks = [1=a1; 2=b2; 3=c3]
/ groups = (1 of 3)
</expt>

<expt b3c1a2>
/ blocks = [1=b3; 2=c1; 3=a2]
/ groups = (2 of 3)
</expt>

<expt c2a3b1>
/ blocks = [1=c2; 2=a3; 3=b1]
/ groups = (3 of 3)
</expt>

<item targetList1_positive>
/ 0 = "List 1 Item 1_positive"
/ 1 = "List 1 Item 2_positive"
/ 2 = "List 1 Item 3_positive"
/ 3 = "List 1 Item 4_positive"
/ 4 = "List 1 Item 5_positive"
/ 5 = "List 1 Item 6_positive"
</item>

<item targetList1_negative>
/ 0 = "List 1 Item 1_negative"
/ 1 = "List 1 Item 2_negative"
/ 2 = "List 1 Item 3_negative"
/ 3 = "List 1 Item 4_negative"
/ 4 = "List 1 Item 5_negative"
/ 5 = "List 1 Item 6_negative"
</item>

<item targetList1>
/ 0 = "List 1 Item 1"
/ 1 = "List 1 Item 2"
/ 2 = "List 1 Item 3"
/ 3 = "List 1 Item 4"
/ 4 = "List 1 Item 5"
/ 5 = "List 1 Item 6"
</item>

<item targetList2>
/ 0 = "List 2 Item 1"
/ 1 = "List 2 Item 2"
/ 2 = "List 2 Item 3"
/ 3 = "List 2 Item 4"
/ 4 = "List 2 Item 5"
/ 5 = "List 2 Item 6"
</item>

<item targetList3>
/ 0 = "List 3 Item 1"
/ 1 = "List 3 Item 2"
/ 2 = "List 3 Item 3"
/ 3 = "List 3 Item 4"
/ 4 = "List 3 Item 5"
/ 5 = "List 3 Item 6"
</item>

<text positive1>
/ items = targetList1_positive
</text>

<text negative1>
/ items = targetList1_negative
</text>

<text target1>
/ items = targetList1
</text>

<text target2>
/ items = targetList2
</text>

<text target3>
/ items = targetList3
</text>

// A
<block a1>
/ onBlockBegin = {
}
/ trials = [1-6 = noreplace(aTrial_negative1,aTrial_positive1);]
</block>

<block a2>
/ onBlockBegin = {
  trial.aTrial.resetStimulusFrames();
  trial.aTrial.insertStimulusFrame(text.target2, 1);
}
/ trials = [1-6 = aTrial]
</block>

<block a3>
/ onBlockBegin = {
  trial.aTrial.resetStimulusFrames();
  trial.aTrial.insertStimulusFrame(text.target3, 1);
}
/ trials = [1-6 = aTrial]
</block>

<trial aTrial_negative1>
/ onTrialBegin = {trial.aTrial.resetStimulusFrames();
  trial.aTrial_negative1.insertStimulusFrame(text.negative1, 1);
    
}
/ stimulusFrames = [1=clearScreen, aQuestion]
/ validResponse = (" ")
</trial>

<trial aTrial_positive1>
/ onTrialBegin = {trial.aTrial_positive1.resetStimulusFrames();
  trial.aTrial_positive1.insertStimulusFrame(text.positive1, 1);
    
}
/ stimulusFrames = [1=clearScreen, aQuestion]
/ validResponse = (" ")
</trial>

<trial aTrial>
/ stimulusFrames = [1=clearScreen, aQuestion]
/ validResponse = (" ")
</trial>

<text aQuestion>
/ items = ("Encoding Condition A?")
/ position = (50%, 25%)
</text>

// B
<block b1>
/ onBlockBegin = {
  trial.bTrial.resetStimulusFrames();
  trial.bTrial.insertStimulusFrame(text.target1, 1);
}
/ trials = [1-6 = bTrial]
</block>

<block b2>
/ onBlockBegin = {
  trial.bTrial.resetStimulusFrames();
  trial.bTrial.insertStimulusFrame(text.target2, 1);
}
/ trials = [1-6 = bTrial]
</block>

<block b3>
/ onBlockBegin = {
  trial.bTrial.resetStimulusFrames();
  trial.bTrial.insertStimulusFrame(text.target3, 1);
}
/ trials = [1-6 = bTrial]
</block>

<trial bTrial>
/ stimulusFrames = [1=clearScreen, bQuestion]
/ validResponse = (" ")
</trial>

<text bQuestion>
/ items = ("Encoding Condition B?")
/ position = (50%, 25%)
</text>

// C
<block c1>
/ onBlockBegin = {
  trial.cTrial.resetStimulusFrames();
  trial.cTrial.insertStimulusFrame(text.target1, 1);
}
/ trials = [1-6 = cTrial]
</block>

<block c2>
/ onBlockBegin = {
  trial.cTrial.resetStimulusFrames();
  trial.cTrial.insertStimulusFrame(text.target2, 1);
}
/ trials = [1-6 = cTrial]
</block>

<block c3>
/ onBlockBegin = {
  trial.cTrial.resetStimulusFrames();
  trial.cTrial.insertStimulusFrame(text.target3, 1);
}
/ trials = [1-6 = cTrial]
</block>

<trial cTrial>
/ stimulusFrames = [1=clearScreen, cQuestion]
/ validResponse = (" ")
</trial>

<text cQuestion>
/ items = ("Encoding Condition C?")
/ position = (50%, 25%)
</text>

You shouldn't care about elegance or efficiency at this point. You should care about writing code that you, personally, understand. So what if it's not the most efficient or elegant?
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search