clear all; close all;

%% Serial dependence task - left/right 2AFC judgement

%% Set up general experiment parameters
Gparams         = [];
Gparams         = defGParams(Gparams);

%% Initialize Screen
HideCursor;
priorityLevel = MaxPriority(Gparams.pWindow);
Priority(priorityLevel);
fullscreenloop(Gparams); % ensures that window is fullscreen

%% Task instructions
task_msg = ['INSTRUCTIES \n\n' ...
            'Je ziet steeds kort twee lijnpatronen. \n\n' ...
            'Het eerste lijnpatroon zie je voor een seconde. \n\n' ...
            'Kijk naar het eerste lijnpatroon. Je hoeft verder niets te doen. \n\n' ...
            'Het tweede lijnpatroon komt meteen daarna. Je ziet dit lijnpatroon maar kort. \n\n' ...
            'Bepaal de orientatie van het tweede lijnpatroon: \n\n' ...
            'Is het linksom? Druk op de linker pijltjestoets, aangegeven met < \n\n' ...
            'Is het rechtsom? Druk op de rechter pijltjestoets, aangegeven met > \n\n' ...
            'Druk op een toets om te starten.'];

%% Blocks

nBlocks = 4; 

for iBlock = 1:nBlocks
    
    cfg                 = [];
    cfg.curBlock        = iBlock;
    cfg.repetitions     = 4;   % 10 trials per repetition; must be an even number; 
    
    % Instructions
    block_start_msg = ['Dit is blok ' num2str(iBlock) ' van de ' num2str(nBlocks) ' blokken. \n\n\n\n\n\n' ... 
        task_msg]; 
    
    showtext(block_start_msg,Gparams)
    
    % Run block
    tae_block(cfg, Gparams);
    
    % Feedback
    if iBlock == nBlocks;
        block_end_msg = 'Dit is het einde van het experiment!\n\n\n Laat je ons weten dat je klaar bent?'; 
    else   
        block_end_msg = 'PAUZE \n\n\n Druk op een toets om door te gaan met het volgende blok.';
    end
    
    showtext(block_end_msg,Gparams);
    
end

%% Cleaning up
Screen('CloseAll');
ShowCursor;
ListenChar(0);
Priority(0);