Hi, I have an experiment wherein subjects must press either the left, right or up arrow button. If they choose another keyboard button, an error message should come up reminding them of the restricted choice and they choose again. If they choose an arrow button then, the rest of the trial continues. However, if they again choose a keyboard button other than an arrow key, the error message appears again and they choose again and so on until they choose correctly. I have created an infinite ‘while’ loop which should be broken once the ‘if’ condition is met, however, it keeps crashing when the question mark appears, despite the next button press fulfilling the criteria:
number_tries = 1; while number_tries < Inf if KbName(keyCode1) == "LeftArrow" elseif KbName(keyCode1) == "RightArrow" elseif KbName(keyCode1) == "UpArrow" break; else Screen('TextSize', window, 17); Screen('DrawText', window, 'Please only select an arrow key to indicate your choice', screenXpixels*0.1, screenYpixels*0.5, white); Screen('Flip', window); WaitSecs(2.0); % Question mark Screen('TextSize', window, 120); Screen('DrawText', window, '?', screenXpixels*0.48, screenYpixels*0.45, white); Screen('Flip', window) % Timestamp questionmarkOnset1 = GetSecs(); % Check the keyboard to see if a button has been pressed [secs1, keyCode1] = KbStrokeWait; number_tries = number_tries + 1; end end
Any suggestions would be much appreciated. Thanks in advance!