function tahmin();
%-----------------------------------------------------------------------
%Sayı Tahmin Oyunu
%Bu oyunda aklımda tuttuğum 4 basamaklı sayıyı bulmaya çalışacaksınız.
%Tuttuğum sayının basamakları birbirinden farklı, ayrıca ilk basamağı 
%sıfırdan farklıdır. Ör: 3250
%Yaptığınız tahminin sonucu hakkında size ipucu verilecektir.
%Yukarıdaki örneğe göre 1234 tahmininde bulunduğunuzda,
%+1  -1 şeklinde bilgi verilecektir. 
%Bu bilgi yaptığınız tahminde iki rakamın doğru olduğu 
%ancak bunlardan birinin yerinin doğru
%diğerinin yerininse yanlış olduğu anlamına gelmektedir.
%+1 yeri doğru olan 2 sayısından, -1 yeri yanlış olan 3 sayısından
%kaynaklanmaktadır.
%En fazla 15 tahmin hakkınız olduğunu unutmayınız.
%------------------------------------------------------------------------
secim='E';
while(upper(secim)~='H')
    clc;
    pos=0;
    neg=0;
    fprintf('-------------------------------------------------\n');
    fprintf('Sayı Tahmin Oyunu\n');
    fprintf('Yardım için "help tahmin"\n');
    fprintf('Yeni oyun başladı.\n');
    fprintf('Başarılar...\n');
    fprintf('-------------------------------------------------\n');
    s=[0 0 0 0];
    while((s(1)==0)||(s(1)==s(2))||(s(1)==s(3))||(s(1)==s(4))||(s(2)==s(3))||(s(2)==s(4))||(s(3)==s(4)))
        s=randint(1,4,[0,9]);
    end;
%%    disp(s);
    x=0;
    t='0000';
    tsayi=1;
    while((tsayi<16)&&(pos~=4))
        x=0;
        while(x~=4)
            y=0;
            t=input('Tahmininiz : ','s');
            x=length(t);
            if(x~=4)
                fprintf('Lütfen 4 haneli bir sayı giriniz !\n');
                continue;
            end
            for k=1:4
                if(((t(k))>57)||((t(k))<48))
                    fprintf('Tahmininiz yalnızca rakamlardan oluşabilir !\n');
                    x=0;
                    y=1;
                    break;
                end;
            end;
            if(y==1)
                continue;
            end;
            if((t(1)=='0')||(t(1)==t(2))||(t(1)==t(3))||(t(1)==t(4))||(t(2)==t(3))||(t(2)==t(4))||(t(3)==t(4)))
                fprintf('Geçersiz bir tahminde bulundunuz lütfen tekrar deneyin\n');
                x=0;
            end;
        end;
        neg=0;
        t=t-48;
        %a=num2str(s,'%d');
        a=s;
        pos=sum(a==t);
        if((a(1)==t(2))||(a(1)==t(3))||(a(1)==t(4)))
            neg=neg+1;
        end;
        if((a(2)==t(1))||(a(2)==t(3))||(a(2)==t(4)))
            neg=neg+1;
        end;
        if((a(3)==t(1))||(a(3)==t(2))||(a(3)==t(4)))
            neg=neg+1;
        end;
        if((a(4)==t(1))||(a(4)==t(2))||(a(4)==t(3)))
            neg=neg+1;
        end;
        fprintf('%2d. %1d%1d%1d%1d : + %1d  - %1d\n',tsayi,t,pos,neg);
        tsayi=tsayi+1;
    end;
    if(pos==4)
        fprintf('Tebrikler aklımdaki sayıyı buldunuz.\n');
    end;    
    if((tsayi==16)&&(pos~=4))
        fprintf('Üzgünüm tahmin hakkınızı bitirdiniz\n');
        fprintf('Aklımdaki sayı : %1d%1d%1d%1d idi.\n',a);
    end;
    secim=input('Tekrar oynamak ister misiniz ? (E/H)','s');
end;