OS Mac & PC (I am working on this primarily on Mac but plan to also have it run on PC)
I am new to PsychoPy and I have little programming experience so I have several questions. My first question is whether what I am trying to do is even possible in Builder. I am trying to do conditional branching per trial rather than per block and based off of key presses. So, I have a word production task in which participants view a stimulus that is either the definition of a word or a picture of a person with a short description of who they are. There are 100 stimuli and participants can response in one of three ways:
- Press Key 1 (‘v’) to indicate that they know the answer. Then, they would see a screen of infinite duration (PracMic) in which they are to say the answer out loud before moving on to the next trial (terminated by ‘space’). (If I can only skip one Routine easily, (you’ll see in the “what I’ve tried is depicted” section below), then skipping only PPList is okay with me).
- Press Key 2 (‘b’) to indicate that they do not know the answer. Then, all following Routines should be skipped and participants should simply go to the next trial (in PracTrial).
- Press Key 3 (‘n’) to indicate that they are experiencing a tip of the tongue state (they know the answer but just can’t produce it right now despite feeling like it’s on the verge of coming back to them). Then, they would first see a pronunciation task for 30 seconds, see the stimulus again, and if they know it, the PracMic screen, if not, a recognition task (PracRecog).
Here’s a visual of the participant options: https://drive.google.com/open?id=1SPYCEwHLhVF1cuYDDA4sqO5kj6mdxkdmzLcBdjtKqK0
What I’ve tried is depicted here: https://drive.google.com/open?id=1lYR79DW0wNFiwnFyrSfJrrULUD9NWFPI
I’ve tried adding code in the PracTrials to get it to skip the Routines I need it to, but it keeps playing all the Routines in the Loop. To skip, I’ve been trying ContinueRoutine = False. Is this something I need to just switch to Coder for because it’s too complicated for builder?
If I must do this in Coder, what is the integral code for the key trigger? I don’t think event.getKeys is sufficient. Should I be making a variable like keyTrigger = event.getKeys() and then setting conditional statements like if keyTrigger==‘v’: ?? Should I even set up Routines in Coder like PPList, PracMic, or PracRecog, or should I just have visual.TextStim() of the events based off the conditional statements?
I know this is a lot, I just realized how complicated my experiment is by attempting to make it a reality. Thanks in advance!
P.S. Everything is labeled “Prac” because I have to do everything again for the test trials (100 test, 10 practice). The 10 practice are different stimuli than the 100 test.