[Addressing some old posts here, probably too late to do any good ...]
Bailing,
As said in many other threads in this group, sometimes the best you can
do is to come up with one usable sequence outside of E-Prime (or
whatever) and then roll that out sequentially within E-Prime (or whatever).
If you want to automate this, however, offhand I would look into some
combination of attribute references and nested Lists (see Appendix C in
the E-Prime 2.0 User's Guide). And as I have said many times here, I
would start by trying to imagine how I could do this with decks of
playing cards, because if I can do it with decks of playing cards then I
can implement that with Lists in E-Prime. So let's imagine how we might
do this with decks of playing cards.
Let's start with a deck of 40 cards, numbered 1 through 40 for each set,
and shuffle these. Draw the top card, and this determines the "set"
number for the next 4 trials, so let's call this SetDeck.
Now we take another deck of 4 cards, numbered 1 through 4, and shuffle
that. We will use this to determine which "D" stimulus to use for each
of the next four groups, so let's call this DDeck.
For example, let's suppose we draw a 12 from SetDeck, and a 3 from
DDeck. Then the next group will consist of 12A, 12B, 12C, and 12D3. We
then draw another card from DDeck -- let's suppose we draw a 2 this
time. So the next group will consist of 12A, 12B, 12C, and 12D2. And
so on until we complete a set of 4 groups. At that point we reshuffle
DDeck for the next set, draw another card from SetDeck, and continue.
Now let's translate this to E-Prime Lists ...
Start with SetList. This has 40 rows, and a column named "Set" with
entries 1 through 40. This will supply the stimulus set numbers. And
for Procedure we use SetProc. Set this List to use Random order.
Within SetProc we put GroupList. GroupList has four rows, with columns
for "AStim", "BStim", "CStim", and "DStim". Use the following as
entries for these columns:
[Set]A.png, [Set]B.png, [Set]C.png, [Set]D1.png
[Set]A.png, [Set]B.png, [Set]C.png, [Set]D2.png
[Set]A.png, [Set]B.png, [Set]C.png, [Set]D3.png
[Set]A.png, [Set]B.png, [Set]C.png, [Set]D4.png
Set this List to use Random order.
Here is how this works: E-Prime picks a Set number from SetList. For
each Set number it runs the four rows in GroupList in a random order and
constructs the file names using the Set number from SetList. Nothing to it!
Expert note: You could do this with only a single column in GroupList
to supply the D number and then construct the file names directly within
the stimulus objects -- I leave that as an exercise for the reader. But
I think the added columns here provide some notational & instructional
clarity.
-- David McFarlane