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 een lijnpatroon. \n\n' ...
            'Bepaal de orientatie van dit lijnpatroon: \n\n' ...
            'Is het linksom? Druk op de toets voor < \n\n' ...
            'Is het rechtsom? Druk op de toets voor > \n\n' ...
            'Let op: de toetsen wisselen soms. \n\n\n\n' ...
            'Druk op een toets om te starten.'];

%% Blocks

nBlocks = 3; 

for iBlock = 1:nBlocks
    
    cfg                 = [];
    cfg.curBlock        = iBlock;
    cfg.trials          = 80;   % number of trials in a block; must be divisible by 16
    
    % 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
    sd_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);