In line problems

David McFarlane mcfarla9 at msu.edu
Fri Mar 23 16:16:53 UTC 2007


Ben Robinson has already outlined how to supply a subject break by just 
adding a RestProc to a MainList which calls a single subsidiary TrialList 
before & after the break.  Here's another variant on how to do this with 
nested Lists:

- In your main procedure timeline, add a TrialList before the break, then 
Rest object, then the same TrialList after the break.
- The TrialList will have just a single row.  Make the weight 98, add a 
nested list we'll call StimulusList, leave Procedure blank (to be filled in 
with Procedure from the nested list) or fill it in with TrialProc, as you 
like.  Use sequential selection.
- In StimulusList, add all your stimuli & attributes just like in your 
original trial list.  If you filled in the Procedure attribute for the 
enclosing TrialList, then leave it blank here.  Use random selection or 
whatever here.  Keep Reset and Exit at one cycle or whatever (should not 
need to change these).

Your main procedure will now run 98 trials from StimulusList, in random 
order if that's what you indicated.  Then it will run your Rest 
object.  Then the main procedure will resume running StimulusList, in 
random order, right where you left off.

In the end it's a matter of taste whether you supply a break as above, 
using Ben's method or another variant, or with inline code.

-- David McFarlane, Systems Designer
    Dept. Psychology, Michigan State University
    mcfarla9 at msu.edu


At 2007-03-21 01:02 PM Wednesday, Ben Robinson wrote:
>create a new list, MainList.
>first proc in MainList can be called BlockProc.
>next proc in MainList can be called RestProc.
>then another BlockProc.
>then EndProc.
>so you have four rows in your new, MainList.
>
>now drag your list containing 196 trials onto the BlockProc timeline.
>drag your rest screen onto the RestProc timeline.
>
>now go to your list with 196 trials.  click properties.  click the 
>reset/exit tab.  tell your list to reset after 196 trials (all of 
>them).  tell your list to exit after 98 trials.
>
>what this will do is run 98 trials from your list of trials, then run the 
>rest procedure, then run the remaining 98 trials, culminating with an 
>EndProc, where you could thank people for their participation or tell them 
>how well they did, etc.
>
>ben
>
>
> >>> <psp48d at bangor.ac.uk> 3/21/2007 12:41 PM >>>
>Dear E-Prime Experts,
>
>I have designed an experiment that has 196 trials, and I wanted to introduce a
>text page after trial 98 offering a rest period to the participant. My problem
>is twofold:
>
>1)First of all I tried to get e-prime to keep track of what trial we are on by
>referncing the "Block" attribute. I did this as follows:
>
>Dim Trial
>Trial=c.GetAttrib ("Block")
>
>However, when running it, e-prime did not recognise block as an attribute. 
>So I
>tried to create my own:
>
>Dim Trial as integer
>Trial = Trial + 1
>
>This also did not work.
>
>2)Secondly, I placed the "rest" page in my trialproc timeline, and tried 
>to get
>e-prime to access it via an 'inline' at the end of the timeline:
>
>If Trial = 98 then
>Rest.run
>         'referncing my textpage for the rest period
>Else fixation.run
>         'this last line is trying to get e-prime to revert to the beginning
>         'of the trialproc timeline if the trial is not 98. This doesn't work
>End if
>
>How do I get e-prime to keep track of the trial number, and how do I 
>introduce a
>rest page if a certain trial number is satisfied?
>
>Yours in confusion!
>
>Jim Grange.
>University of Wales, Bangor.



More information about the Eprime mailing list