더북(TheBook)

8.5 프로젝트.c

#include <stdio.h>
#include <time.h> -------------------------- ➍ 헤더 파일 추가
#include <stdlib.h> ------------------------ ➍ 헤더 파일 추가

(중략)
int getEmptyPosition(); -------------------- ➊ 카드 지도에서 빈 공간 찾기 함수 선언

int main(void) {
    srand(time(NULL));  -------------------- ➍ 난수 초기화
    (중략)
    return 0;
}

void initAnimalArray() { (중략) } 

void initAnimalName() { (중략) } 

void shuffleAnimal() { (중략) } // 카드 섞기 함수

int getEmptyPosition() { ------------------ ➋ 카드 지도에서 빈 공간 찾기 함수 정의
    while (1) {
        int randPos = rand() % 20; -------- ➌ 무작위로 뽑은 카드 번호 반환(0~19)
        int x = conv_pos_x(randPos); ------ ➎ 반환한 카드 번호를 x 좌표로 변환
        int y = conv_pos_y(randPos); ------ ➎ 반환한 카드 번호를 y 좌표로 변환
        if (arrayAnimal[x][y] == -1) { ---- ➏ 해당 위치가 비었는지 확인
            return randPos; // 찾은 공간이 비었으면 카드 번호 반환
        }
    }
    return 0; // 빈 공간이 하나도 없으면 0 반환
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.