Test with time limit
lamchunpan2108
lamchunpan2108 at gmail.com
Tue Mar 30 03:50:37 UTC 2010
Dear Michiel and David,
Thanks a lot for your advices. I finally got it!!!!!!
A lot of thanks,
Ben
On 3月30日, 上午2時32分, David McFarlane <mcfar... at msu.edu> wrote:
> Mich,
>
> Did you by any chance mean for step 1 to read,
>
> 1) Set exit list to the 15 minutes option
> ?
>
> Otherwise it seems like this just enforces the 46
> trial limit in two different ways at once. Also,
> wouldn't trialnum have to be declared
> globally? Just checking my understanding in case I missed something.
>
> Alternatively, one might set the List to exit at
> 46 trials, and then use code to enforce the time limit, thus,
>
> 1) Create a global time-to-exit variable in the User Script Area:
> Dim tExit as Long
> 2) Set Exit List to the 46 trials option.
> 3) Initialize the time-to-exit in inline code just before the List starts:
> Const ListTimeLimit as Long = 15 * 60 * 1000
> tExit = Clock.Read + ListTimeLimit
> 4) In another inline within every trial, check
> whether the List time limit has passed and exit the List if this happens:
> If Clock.Read >= tExit Then MyList.Terminate
> 'where MyList is the name of your List
> (or if you prefer to write that in a way that works with any List name,
> If Clock.Read >= tExit Then _
> CList( Rte.GetObject( c.GetAttrib("Running") ) ).Terminate
> )
>
> Now that I have outlined all that, I think I
> prefer the first "Exit List set to 15 minutes"
> approach since that takes care of all the tricky
> timing issues for you. But I am a die-hard
> academic and I always like to lay out all the
> options and mull these things over whenever I code.
>
> Finally, I wonder if PST has an example of how to
> do this in their Samples area on the web?
>
> -- David McFarlane, Professional Faultfinder
>
> At 3/29/2010 11:43 AM Monday, you wrote:
>
> >Hi Ben,
> >1) set exit list to the 46 trials option
> >2) insert a trial counter inline code before the list is encountered:
> >Dim trialnum as integer
> >3) add one to the trialnum with every trial, by
> >inserting another inline at the start of every trial (i.e. within this list)
> >trialnum = trialnum + 1
> >4) check, every trial, whether 46 trials have
> >passed and exit list if this happens:
> >If trialnum = 46 then myList.Terminate 'where myList is the name of your list.
>
> >...
> >That's the coding for beginners part, which I
> >think works better as a tutorial. Far more
> >elegant, however, is the way explained in the ebasic help:
>
> >'Stop running the list after the third trial
> >If c.GetAttrib(c.GetAttrib("Running") & ".Sample") = 46 Then myList.Terminate
>
> >Cheers,
> >Mich
>
> >Michiel Spapé
> >Research Fellow
> >Perception & Action group
> >University of Nottingham
> >School of Psychology
>
> >-----Original Message-----
> >From: e-prime at googlegroups.com
> >[mailto:e-prime at googlegroups.com] On Behalf Of lamchunpan2108
> >Sent: 29 March 2010 16:07
> >To: E-Prime
> >Subject: Test with time limit
>
> >Hi all,
>
> >I am not sure if it is an easy question since I am still very new to e-
> >prime. I am creating a speed test version of an intelligence test (15
> >minutes time limit). There are 46 trials in a Block and participants
> >can either finish all the trials within 15 minutes or the program will
> >jump to the next procedure after 15 minutes. I know that we can input
> >something similar in the Reset/Exit of Block options. However, the 2
> >options cannot co-exist, i.e., 1.) Exit after 600 seconds, and 2.)
> >Exit after 46 trials. I would like to know how can I do so in e-prime.
>
> >Thanks a lot for any help!!!
>
> >Regards,
> >Ben Lam
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.
More information about the Eprime
mailing list