function [ Reponse ] = Reponse_clavier( Liste_Reponses, varargin )
%REPONSE_CLAVIER Attend une réponse de l'utilisateur parmis celles
%spécifiées en paramètre; possibilité de spécifier des réponses 'cheat
%code' en argument additionnel, par ex. [5,45]

Liste_Cheatcode = [];
if ~isempty(varargin)
    if length(varargin)==1
        Liste_Cheatcode = varargin{1};
    else
        error('un seul argument additionnel possible');
    end
end

test_boucle=1;
while test_boucle
    Reponse=[];
    
    fprintf('Pressez la touche :\n');
    for idx=1:length(Liste_Reponses)
        fprintf([' - ' num2str(idx) ' pour ' Liste_Reponses{idx} '\n']);
        if idx == length(Liste_Reponses)
            Reponse = input('Puis appuyez sur Entree\n','s');
        end
    end
    Reponse=str2double(Reponse);
    test_boucle = isempty(Reponse);
    if ~test_boucle
        test_touche=0;
        for i=1:length(Liste_Reponses)
            test_touche=test_touche||Reponse==i;
        end
        for i=1:length(Liste_Cheatcode)
            test_touche=test_touche||Reponse==Liste_Cheatcode(i);
        end
        test_boucle=~test_touche;
    end
end

end