function mScoreBP_Interactive(handles, M)

C = zeros(6,6);
for a=1:6
    for b=1:6
         try %some of the 6 may not exist, depending on ShowNs and ShowGaps
             C(a,b) = str2num(get(handles.h(a,b),'String'));
             if get(handles.h(a,b),'FontSize')==14
                 IsosterCompar = M(a,b);
             end
         end
    end
end
C = 100 * C / sum(sum(C)); %In case numbers are counts and not percents

[Ccond Mcond] = LinearizeAndCondense(C,M);


if ~exist('IsosterCompar','var')
    McondNozero = Mcond(find(Mcond~=0));
    CcondNozero = Ccond(find(Mcond~=0));
    ind = find(CcondNozero==max(CcondNozero));
    IsosterCompar = McondNozero(ind);
end


%%%%%%%%%NOW CALCULATE SCORE
if IsosterCompar ~= 15

    Score = mGetScore(Mcond, Ccond, IsosterCompar, handles.w); %%%%Heart

    if Score > 0
        set(handles.ScoreValue,'Foreground','k');
    else
        set(handles.ScoreValue,'Foreground','r');
    end
    Score = round(Score);
    set(handles.ScoreValue,'String',num2str(Score))
    set(handles.ScoreValue,'Visible','on') %needs to be reset to 'off' when new BP is shown or when something else is shown
    set(handles.ScoreValue_Title,'Visible','on')
    
else
    
    set(handles.ScoreValue,'Visible','off')
    set(handles.ScoreValue_Title,'Visible','off')
end