#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
typedef struct kart{
        int deger;
        int aile;
        }kart; 
        
int toplam(kart x[]); //eldeki toplam kağıt değerini bulur
int main(){
    kart deste[52];

    for(int i = 0 ;i<52;i++){
            deste[i].deger=i%13;
            deste[i].aile=i/13;
            printf("%d",i);
    }
     srand ( time(NULL) );

     int sira= rand()%52;
     printf("sira %d",sira);
     kart rasgele = deste[sira];
    printf("rasgele çekilen kart %d %d",rasgele.deger,rasgele.aile);
    kart o1[10],o2[10]; //oyuncu 1 ve 2 icin ellerindeki kartlari tutan dizi
    for(int i=0;i<10;i++){
            o1[i].deger=0;
            o2[i].deger=0;        
    }
    int o1num=0;
    int o2num=0;
    int o1durum=0,o2durum=0; // oyuncularin durumu 0 devam, 1 pas
    while(true){
                if(o1durum==0&&toplam(o1)<21){
                             int sira= rand()%52;
                             printf("çekilen kart%d\n",sira);
                             kart rasgele = deste[sira];
                             o1[o1num++]=rasgele;
                                              }
                if(o1durum==0&&toplam(o2)<21){
                             int sira= rand()%52;
                             printf("çekilen kart%d\n",sira);
                             kart rasgele = deste[sira];
                             o2[o2num++]=rasgele;
                                              }
                if(o1durum==1&&o2durum==1 || toplam(o2) >= 21&&o1durum==1 ||  toplam(o1) >= 21&&o2durum==1 || toplam(o1) >= 21&&toplam(o2)>=21)
                                          break;
                printf("o1 elindeki kartlar:\n");
                
                for(int j=0;j<o1num;j++){
                        printf("aile: %d, deger:%d\n",o1[j].aile,o1[j].deger);
                        
                        }
                        printf("o1'in degeri %d",toplam(o1));
                        printf("\no2 elindeki kartlar:\n");
                for(int j=0;j<o2num;j++){
                        printf("aile: %d, deger:%d\n",o2[j].aile,o2[j].deger);
                        }
                        printf("\no2'in degeri %d",toplam(o2));                        
                printf("o1 devam? (0 evet , 1 hayir)");
                scanf("%d",&o1durum);
                printf("o2 devam? (0 evet , 1 hayir)");
                scanf("%d",&o2durum);
                
                
                }
                if(toplam(o1)<21 && toplam(o1)>toplam(o2))
                                 printf("o1 kazandi");
                if(toplam(o2)<21 && toplam(o2)>toplam(o1))
                                 printf("o2 kazandi");
                if(toplam(o2)>21&&toplam(o1)>21)
                                                printf("kimse kazanamadi");
                if(toplam(o1)<=21&&toplam(o2)>21)
                                                 printf("o1 kazandi");
                if(toplam(o2)<=21&&toplam(o1)>21)
                                                 printf("o1 kazandi");
                
                                 
    
    getch();
    return 0;
}
int toplam(kart x[]){
    int toplam=0;
    for(int i=0;i<10;i++){
            toplam += x[i].deger;
    }
    return toplam;
}
    

