Hi Caleb,
Thank's for your explanation!
I'd like to add another way to implement pretty much the same thing in
a different way for those that for some reason or another want to cut
on their use of inlines.
http://images.redial.net/crespbasedonversion.jpg
See the image linked above.
This list contains (among others) the attributes cresp, crespa, and
crespb . The slideobject should be refered to the attribute cresp for
the correctresponse (in the slide object properties fill in [cresp]
for correct response). As one can see cresp is then referred further
to [cresp[version]] . The attribute version can have either value A or
B, so that [cresp[version]] actually means either [crespA] or [crespB]
and thus for cresp the value of either attribute crespa or crespb will
be implemented. The attribute "version" can be a startup
variable(create this in the menu that is found under the e-prime logo
at the top of your experiment tree). Another option, for a simple odd/
even randomisation, is to add an inline with the following two lines
at the start of your experiment:
if c.getattrib ("subject") mod 2 = 1 then c.setattrib "version", "A"
if c.getattrib ("subject") mod 2 = 0 then c.setattrib "version", "B"
This inline will assign value A to the attribute "version" for all odd
subject numbers and version B to all even subject numbers so that you
don't have to manually assign a version at start up.
In addition: when using this the way I did (randomizing the response
buttons, i.e. button 1 for answer a and 2 for answer b in half the
participants and vice versa in the other half) you'll also need to
adjust the instructions based on the assigned version. This is easily
done by creating two states in your instructionslide(s). One state
should be named A and the other state B and contain the according
instructions. In the instruction slide properties fill in [version] in
the box activestate and the program will show either state A or state
B according to the value of "version".
Best,
AW
On Jan 12, 3:02 am, "Caleb J. Picker" <
dbzgtfan4e...@gmail.com> wrote:
> Hello all,
>
> I would just like to post a solution to this problem because I had
> difficulty finding it.
>
> Just to clarify, the problem is this. You have a slide object that collects
> input responses (e.g. TestSlide) with allowable response 'F' and 'J'. Based
> on your List object (this presumably houses your stimuli and the correct
> responses), you have an attribute for correct responses (let's say
> "CorrectResp"). However, now let's say you have two similar experiments
> with two different Correct Responses. In your List object, you might then
> have two attributes (CorrectResp1 and CorrectResp2). Each attribute
> corresponds to a different experiment (say, Expt1 and Expt2).
>
> In an inline (placed before the TestSlide runs), you need to change your
> 'Correct:' property of your TestSlide based upon which experiment is
> selected at startup. One solution I came up with is as follows:
>
> Select Case c.getattrib("Group")
> Case "Expt1"
> TestSlide.InputMasks.Add Keyboard.CreateInputMask("fj", *
> c.GetAttrib("CorrectResp1"*),_
> CLng(TestSlide.Duration), CLng("1"), ebEndResponseActionTerminate,
> CLogical("Yes"),_
> "", "", "ResponseMode:All ProcessBackspace:Yes")
> Case "Expt2"
> TestSlide.InputMasks.Add Keyboard.CreateInputMask("fj", *
> c.GetAttrib("CorrectResp2"*),_