psychopy.org | Reference | Downloads | Github

Learning to criterion - skipping to the final routine based on score

Hi everyone,
I have set up a learning to criterion task to be completed by young children. The task is set up with a narrative about a character who needs help to learn something. I have a loop which runs through 4 trials in 5 blocks (blend_trials). This part of the experiment works fine. Children have to obtain a minimum score in order to attempt the next part of the task, a routine called reading. After this, they are shown a series of short images with a voiceover telling them how the story ends. In other words, if children don’t perform well in blend then we want to spare them the pain of reading, which is even more difficult. But we still want them to see the end of the story, and not for PsychoPy to just stop abruptly.

What I would like to know is whether it’s possible to ‘skip’ to the end of the ‘story’ if the minimum score on blend is not achieved. So far I haven’t found any answers to this online.
Below is a simplified version of the task, with the red arrow showing where I would like to skip to, based on the score achieved in blend.
.


I have a running total_score in the blend routine. I imagine this skipping process can be done with an if statement (i.e. if total_score < minimum score needed, skip to story_end1). Alternatively, I can imagine that it’s a case of telling reading not to run, but I don’t know how to do this, or even where this code should be placed.

Any help much appreciated!
Chris

Hi @chrisd, yes you can do this with a code component in the readingroutine. In the code components Begin Routine tab:

if totalScore < minimumRequired:
    trials.finished = True
    continueRoutine = False

This code should break the trials loop so it does not continue, and skip the first presentation of reading.

Hi @dvbridges,
Thanks very much for your reply - this worked for me! :smiley: