Example for Trait Adjective Memory Study


Author
Message
Wasabi8888
Wasabi8888
Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)
Group: Forum Members
Posts: 17, Visits: 266
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>

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,

If I don’t need to write separate scripts for each group, how would I implement the Latin Square counterbalancing within a single script?

You need nine blocks:
A1, A2, A3
B1, B2, B3
C1, C2, C3

where A,B,C represent your three encoding conditions, and 1,2,3 represent your three target lists.

Then you just administer the applicable subset of those blocks to each group, as defined by the Latin Square(s).

This is not complicated. Schematically:

<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>
/ 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 target1>
/ items = targetList1
</text>

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

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

// A
<block a1>
/ onBlockBegin = {
    trial.aTrial.resetStimulusFrames();
    trial.aTrial.insertStimulusFrame(text.target1, 1);
}
/ trials = [1-6 = aTrial]
</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>
/ 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>


Wasabi8888
Wasabi8888
Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)
Group: Forum Members
Posts: 17, Visits: 266
Hi Dave,

If I don’t need to write separate scripts for each group, how would I implement the Latin Square counterbalancing within a single script?
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,

Do I need to manually write 9 separate scripts for each group? If possible, would you mind sharing an example script setup for one group? I think that would really help me get started.

Thanks very much!

Group    Block 1    Block 2    Block 3
1    List A – SR    List B – Semantic    List C – Structural
2    List B – SR    List C – Semantic    List A – Structural
3    List C – SR    List A – Semantic    List B – Structural
4    List A – Semantic    List B – Structural    List C – SR
5    List B – Semantic    List C – Structural    List A – SR
6    List C – Semantic    List A – Structural    List B – SR
7    List A – Structural    List B – SR    List C – Semantic
8    List B – Structural    List C – SR    List A – Semantic
9    List C – Structural    List A – SR    List B – Semantic



You don't need separate scripts at all. If you want separate scripts because you find that easier to handle, by all means, have separate scripts.

And examples you can find plenty already on the forums or in the library. Encoding-recognition or old-new paradigms have been discussed dozens of times. List learning tasks exist in the library.
Wasabi8888
Wasabi8888
Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)
Group: Forum Members
Posts: 17, Visits: 266
Hi Dave,

Do I need to manually write 9 separate scripts for each group? If possible, would you mind sharing an example script setup for one group? I think that would really help me get started.

Thanks very much!

Group    Block 1    Block 2    Block 3
1    List A – SR    List B – Semantic    List C – Structural
2    List B – SR    List C – Semantic    List A – Structural
3    List C – SR    List A – Semantic    List B – Structural
4    List A – Semantic    List B – Structural    List C – SR
5    List B – Semantic    List C – Structural    List A – SR
6    List C – Semantic    List A – Structural    List B – SR
7    List A – Structural    List B – SR    List C – Semantic
8    List B – Structural    List C – SR    List A – Semantic
9    List C – Structural    List A – SR    List B – Semantic



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/11/2025
Wasabi8888 - 7/11/2025
Hi Dave,

I was wondering if there’s an easy way to implement the counterbalancing of both the three target lists and the three encoding conditions (using a Latin square design). If so, would you mind providing an example? Or would we need to write separate scripts to manually set the order?

Also, just to clarify, my understanding is that the primacy and recency buffers are extra words added to the start and end of the learning list to absorb position effects, since participants tend to remember the first and last items best. These buffers aren't analyzed, but rather serve to protect the 72 main target items. 

> I was wondering if there’s an easy way to implement the counterbalancing of both the three target lists and the three encoding conditions (using a Latin square design).

No easy way.

> Also, just to clarify, my understanding is that the primacy and recency buffers are extra words added to the start and end of the learning list to absorb position effects, since participants
> tend to remember the first and last items best. These buffers aren't analyzed, but rather serve to protect the 72 main target items.

Maybe? The description isn't really clear, since throughout only the three 24 item encoding lists (72 items total) are referenced; . In any case, having a two-word block before at the very start (before any of the encoding blocks) and before the recognition phase (after the encoding blocks) is trivial.


You have three encoding conditions -- A, B, C -- and three target lists .. 1,2,3. So econding condition A can be paired with either list 1 (A1), list 2 (A2) or list 3 (A3). Same for encoding conditions B and C. Constructing Latin Squares for counterbalancing along the lines of

group 1: A1 B2 C3
group 2: B3 C1 A2
group 3: C2 A3 B1
...


satisfies "order of encoding tasks was counterbalanced so that each task appeared in each ordinal position an equal number of times, and across participants, target lists appeared equally often in each of the three conditions." (I assume the authors constructed and used multiple such squares).
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,

I was wondering if there’s an easy way to implement the counterbalancing of both the three target lists and the three encoding conditions (using a Latin square design). If so, would you mind providing an example? Or would we need to write separate scripts to manually set the order?

Also, just to clarify, my understanding is that the primacy and recency buffers are extra words added to the start and end of the learning list to absorb position effects, since participants tend to remember the first and last items best. These buffers aren't analyzed, but rather serve to protect the 72 main target items. 

> I was wondering if there’s an easy way to implement the counterbalancing of both the three target lists and the three encoding conditions (using a Latin square design).

No easy way.

> Also, just to clarify, my understanding is that the primacy and recency buffers are extra words added to the start and end of the learning list to absorb position effects, since participants
> tend to remember the first and last items best. These buffers aren't analyzed, but rather serve to protect the 72 main target items.

Maybe? The description isn't really clear, since throughout only the three 24 item encoding lists (72 items total) are referenced; . In any case, having a two-word block before at the very start (before any of the encoding blocks) and before the recognition phase (after the encoding blocks) is trivial.


Wasabi8888
Wasabi8888
Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)
Group: Forum Members
Posts: 17, Visits: 266
Hi Dave,

I was wondering if there’s an easy way to implement the counterbalancing of both the three target lists and the three encoding conditions (using a Latin square design). If so, would you mind providing an example? Or would we need to write separate scripts to manually set the order?

Also, just to clarify, my understanding is that the primacy and recency buffers are extra words added to the start and end of the learning list to absorb position effects, since participants tend to remember the first and last items best. These buffers aren't analyzed, but rather serve to protect the 72 main target items. 

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,

I have a few questions about implementing the task and would really appreciate your advice:

Random Allocation of Target Lists:
What’s the best way to randomly assign the three target word lists to the different block conditions (SR, semantic, and structural encoding)? 

Primacy and Recency Buffers:
As each of the three target lists should be embedded within a continuous 72-item study list (bounded by two primacy and two recency buffers), how would you recommend assigning these buffers if the block order is randomised? Would it make more sense to have separate scripts that manually decide the order of block conditions, then insert the buffers accordingly?

Trial Setup for Valence Conditions:
Each target list includes both positive and negative adjectives. Do you think I should set up separate positive and negative trials, like in the Emotional Memory Task?

<trial phaseAImagePresentationNegative>
/ onTrialBegin = {
values.valence = "negative";
values.trialCount++;
values.itemNumber = list.negativeImagesPhaseA.nextValue;

values.valence1 = 1;
values.valence2 = 2;
values.valence3 = 3;
values.valence4 = 4;
values.valence5 = 5;
values.valence6 = 6;
values.valence7 = 7;
values.valence8 = 8;
values.valence9 = 9;
values.selectedRsp = 0;

values.rt = "";
values.startTime = "";    
}
/ stimulusFrames = [1 = clearScreen, negative]
/ onTrialEnd = {
    values.startTime = script.elapsedTime;
    values.image = picture.negative.currentItem;
    values.itemNumber = picture.negative.currentIndex;
}    
/ branch = {
    return trial.phaseARating;
}
/ recordData = false
/ trialDuration = parameters.imagePresentationDurationMs
</trial>

Note: trial.phaseA_imagePresentation_neutral
prepares each trial by resetting crucial values and presenting the next neutral picture
<trial phaseAImagePresentationNeutral>
/ onTrialBegin = {
values.valence = "neutral";
values.trialCount++;
values.itemNumber = list.neutralImagesPhaseA.nextValue;
values.selectedRsp = 0;

values.rt = "";
values.startTime = "";    
}
/ stimulusFrames = [1 = clearScreen, neutral]
/ onTrialEnd = {
    values.startTime = script.elapsedTime;
    values.image = picture.neutral.currentItem;
    values.itemNumber = picture.neutral.currentIndex;
}    
/ branch = {
    return trial.phaseARating;
}
/ recordData = false
/ trialDuration = parameters.imagePresentationDurationMs
</trial>

Note: trial.phaseA_imagePresentation_positive
prepares each trial by resetting crucial values and presenting the next positive picture
<trial phaseAImagePresentationPositive>
/ onTrialBegin = {
values.valence = "positive";
values.trialCount++;
values.itemNumber = list.positiveImagesPhaseA.nextValue;

values.valence1 = 1;
values.valence2 = 2;
values.valence3 = 3;
values.valence4 = 4;
values.valence5 = 5;
values.valence6 = 6;
values.valence7 = 7;
values.valence8 = 8;
values.valence9 = 9;
values.selectedRsp = 0;

values.rt = "";
values.startTime = "";    
}
/ stimulusFrames = [1 = clearScreen, positive]
/ onTrialEnd = {
    values.startTime = script.elapsedTime;
    values.image = picture.positive.currentItem;
    values.itemNumber = picture.positive.currentIndex;
}    
/ branch = {
    return trial.phaseARating;
}
/ recordData = false
/ trialDuration = parameters.imagePresentationDurationMs
</trial>

<block phaseA>
/ preInstructions = (phaseAIntro)
/ skip = {
    return (parameters.phaseSetting == 2);
}
/ onBlockBegin = {
    values.phase = "A";
    values.presentationPhase = "A";
    values.trialCount = 0;
    values.corrRsp = "";
}
/ trials = [
    1 = startiti;
    2-46 = noreplace(phaseAImagePresentationNegative, phaseAImagePresentationNeutral, phaseAImagePresentationPositive);
]
</block>

> What’s the best way to randomly assign the three target word lists to the different block conditions (SR, semantic, and structural encoding)?

There is no one best way. If you want to achieve "across participants, target lists appeared equally often in each of the three conditions" as in the original study, you need to hardcode assignments anyway, not assign lists randomly to encoding condition. Combined with the counterbalancing of encoding conditions (below), that'd result in a large number of conditions then.

> Primacy and Recency Buffers:
> As each of the three target lists should be embedded within a continuous 72-item study list (bounded by two primacy and two recency buffers), how would you recommend assigning these > buffers if the block order is randomised? Would it make more sense to have separate scripts that manually decide the order of block conditions, then insert the buffers accordingly?

There's no explanation what exactly the authors mean by "primacy and recency buffers" and how those functioned in the study, so this question isn't answerable. Also, block order, according to the text you pasted in your original post, wasn't randomized in the original study, but counterbalanced (I assume in a Latin Square type fashion).

> Trial Setup for Valence Conditions:
> Each target list includes both positive and negative adjectives. Do you think I should set up separate positive and negative trials, like in the Emotional Memory Task?

Up to your preference.
Wasabi8888
Wasabi8888
Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)Associate Member (152 reputation)
Group: Forum Members
Posts: 17, Visits: 266
Hi Dave,

I have a few questions about implementing the task and would really appreciate your advice:

Random Allocation of Target Lists:
What’s the best way to randomly assign the three target word lists to the different block conditions (SR, semantic, and structural encoding)? 

Primacy and Recency Buffers:
As each of the three target lists should be embedded within a continuous 72-item study list (bounded by two primacy and two recency buffers), how would you recommend assigning these buffers if the block order is randomised? Would it make more sense to have separate scripts that manually decide the order of block conditions, then insert the buffers accordingly?

Trial Setup for Valence Conditions:
Each target list includes both positive and negative adjectives. Do you think I should set up separate positive and negative trials, like in the Emotional Memory Task?

<trial phaseAImagePresentationNegative>
/ onTrialBegin = {
values.valence = "negative";
values.trialCount++;
values.itemNumber = list.negativeImagesPhaseA.nextValue;

values.valence1 = 1;
values.valence2 = 2;
values.valence3 = 3;
values.valence4 = 4;
values.valence5 = 5;
values.valence6 = 6;
values.valence7 = 7;
values.valence8 = 8;
values.valence9 = 9;
values.selectedRsp = 0;

values.rt = "";
values.startTime = "";    
}
/ stimulusFrames = [1 = clearScreen, negative]
/ onTrialEnd = {
    values.startTime = script.elapsedTime;
    values.image = picture.negative.currentItem;
    values.itemNumber = picture.negative.currentIndex;
}    
/ branch = {
    return trial.phaseARating;
}
/ recordData = false
/ trialDuration = parameters.imagePresentationDurationMs
</trial>

Note: trial.phaseA_imagePresentation_neutral
prepares each trial by resetting crucial values and presenting the next neutral picture
<trial phaseAImagePresentationNeutral>
/ onTrialBegin = {
values.valence = "neutral";
values.trialCount++;
values.itemNumber = list.neutralImagesPhaseA.nextValue;
values.selectedRsp = 0;

values.rt = "";
values.startTime = "";    
}
/ stimulusFrames = [1 = clearScreen, neutral]
/ onTrialEnd = {
    values.startTime = script.elapsedTime;
    values.image = picture.neutral.currentItem;
    values.itemNumber = picture.neutral.currentIndex;
}    
/ branch = {
    return trial.phaseARating;
}
/ recordData = false
/ trialDuration = parameters.imagePresentationDurationMs
</trial>

Note: trial.phaseA_imagePresentation_positive
prepares each trial by resetting crucial values and presenting the next positive picture
<trial phaseAImagePresentationPositive>
/ onTrialBegin = {
values.valence = "positive";
values.trialCount++;
values.itemNumber = list.positiveImagesPhaseA.nextValue;

values.valence1 = 1;
values.valence2 = 2;
values.valence3 = 3;
values.valence4 = 4;
values.valence5 = 5;
values.valence6 = 6;
values.valence7 = 7;
values.valence8 = 8;
values.valence9 = 9;
values.selectedRsp = 0;

values.rt = "";
values.startTime = "";    
}
/ stimulusFrames = [1 = clearScreen, positive]
/ onTrialEnd = {
    values.startTime = script.elapsedTime;
    values.image = picture.positive.currentItem;
    values.itemNumber = picture.positive.currentIndex;
}    
/ branch = {
    return trial.phaseARating;
}
/ recordData = false
/ trialDuration = parameters.imagePresentationDurationMs
</trial>

<block phaseA>
/ preInstructions = (phaseAIntro)
/ skip = {
    return (parameters.phaseSetting == 2);
}
/ onBlockBegin = {
    values.phase = "A";
    values.presentationPhase = "A";
    values.trialCount = 0;
    values.corrRsp = "";
}
/ trials = [
    1 = startiti;
    2-46 = noreplace(phaseAImagePresentationNegative, phaseAImagePresentationNeutral, phaseAImagePresentationPositive);
]
</block>

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search