본문 바로가기
C/☞

[50]-A. 기억력 게임

by TR. 2020. 7. 23.
void print_open(int *f, int size){
    printf("------------------ REMEBER ME ------------------\n");
    printf("index:\t");
    for(int i=0; i<size; i++){
        printf("[%d] ", i+1);
    }
    printf("\ncard:\t");
    for(int i=0; i<size; i++){
        printf("[%d] ", f[i]);
    }
    printf("\n");
}

void print_blind(int *f, int *b, int size){
    printf("------------------ REMEBER ME ------------------\n");
    printf("index:\t");
    for(int i=0; i<size; i++){
        printf("[%d] ", i+1);
    }
    printf("\ncard:\t");
    for(int i=0; i<size; i++){
        if(b[i] == 1){
            printf("[%d] ", f[i]);
        } else{
            printf("[■] ");
        }
    }
    printf("\n");
}

void shuffle(int *p, int size){
    srand((unsigned int)time(NULL));
    for(int i=0; i<100; i++){
        int r = rand() % size;
        int temp = p[0];
        p[0] = p[r];
        p[r] = temp;
    }
}

void check(int *f, int *b, int idx1, int idx2, int *cnt){
    if(idx1 != 0 && idx1 != idx2){
        if(b[idx1-1] != 1 && f[idx1-1] == f[idx2-1]){
            b[idx1-1] = 1;
            b[idx2-1] = 1;
            *cnt -= 2;
            printf("딩동댕!!!\n");
        } else{
            printf("땡!!!\n");
        }
    } else{ printf("잘 못 입력했습니다.\n"); }
}

void close(int *f, int size, int *cnt, int *boolean){
    if(*cnt == 0){
        print_open(f, size);
        printf("------------------------------------------------\n");
        printf("GAME CLEAR!\n");
        *boolean = 0;
    }
}

void main(){

    int game_num = 10;
	int front[10] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
	int back[10] = {0};

    int *f = &front[0];
    int *b = &back[0];
    int n = 10;

    shuffle(f, n);
    print_open(f, n);

    int RUN = 1;
    while(RUN){
        print_blind(f, b, n);

        int my1, my2;
        printf("인덱스1 입력: ");
        scanf("%d", &my1);
        printf("인덱스2 입력: ");
        scanf("%d", &my2);

        check(f, b, my1, my2, &game_num);
        close(f, n, &game_num, &RUN);        

    }
    

}

'C > ' 카테고리의 다른 글

[00]-A. 캐릭터 이동  (0) 2020.07.24
[00] 캐릭터 이동  (0) 2020.07.24
[50] 기억력 게임  (0) 2020.07.23
[49]-A. 마리오 무브  (0) 2020.07.23
[49] 마리오 무브  (0) 2020.07.23

댓글