[QUOTE=Hank;1914]I think the easiest way to prevent trials from being re-presented would be to use code values on the trials to mark which have already been presented.
First, you create a code value, “presented,” with values, “yes” and “no,” to be used on trials. Then, you set the value on your trial(s) to “no.” Next, you create a feedback that runs somewhere in the trial every time it’s presented that changes this code value to “yes.” Lastly, you set up an expression to skip the next trial if its code value is “yes.” Since this is dependent on traits specific to the next trial, this can only be done at the trial level–that is, in the trial editor.
I don’t remember if it was 4.0.6 or 4.0.7 that added this functionality, but it’s relatively new to SuperLab 4.[/QUOTE]
Hi, I’m trying to do the opposite - present half of my total trials at random to each participant, and then in subsequent blocks I only want to present the trials that the participant has seen before (in random order if possible). Each trial has two events (from stimulus lists), and between each of those blocks, I want a block that shows only the first event each of the from the presented trials (in random order if possible).
I’m having problems getting this work, and I did this: I created a PRESENTED TRIAL code and a PRESENTED EVENT code, and I set the last event in the trial to give feedback that changes these code values to YES. Then I created a second trial that has in the condition box “is not set to YES” so that a trial is not presented if it wasn’t set to yes. Unfortunately, when I run the experiment, it picks at random from the whole stimulus list again, when I really just want it to pick at random from the previously-selected trials. I also tried making a macro that runs before every trial and skips the next trial if 1 or more trials from the subset NO (by default, all the other trials) have been presented, but this doesn’t work either (I guess because it technically hasn’t been presented yet).