arrayAnimal 배열에서 빈 공간을 찾는 getEmptyPostion()함수를 작성해 봅시다.
➊ main()함수 위에 함수를 선언합니다. getEmptyPosition()함수는 카드 번호를 반환하므로 int로 선언합니다.
➋ shuffleAnimal()함수 아래에 getEmptyPosition()함수를 정의합니다. 이 함수는 arrayAnimal 배열에 빈 공간이 없을 때까지 작동해야 하므로 무한 반복문으로 작성합니다.
➌ 카드 배열의 빈 공간은 어떻게 찾을까요? 2차원 배열은 표로 나타낼 수 있습니다. 카드가 총 20장이므로 표의 칸마다 번호를 붙이면 그림과 같이 0~19로 표현할 수 있습니다. 이 중에서 번호 하나를 뽑아 카드 지도에서 해당 번호의 위치가 비었는지 확인합니다. 카드 번호는 rand()함수를 사용해 무작위로 뽑습니다. 그리고 rand()함수에서 나온 숫자를 정수형 변수 randPos를 선언해 저장합니다.
그림 8-13 카드 지도와 카드 번호 매칭