더북(TheBook)

8.4.1 카드 초기화하기

실제 게임에서는 게임을 새로 시작할 때마다 동물 카드를 섞어 무작위로 배치합니다. 여기서는 배열로 카드 지도를 만들고 동물 이름을 넣는 형식으로 표현하겠습니다.

동물 이름을 배치할 카드 지도용 배열을 선언하고 초기화합니다. 카드가 20장이므로 5장씩 4줄로 배치하도록 2차원 배열 arrayAnimal[4][5]를 선언합니다. 이 배열은 카드 20장 중 어느 위치에 어떤 동물이 있는지 숨겨 두는 역할을 합니다. main()함수 외에 다른 함수에서도 사용하므로 main()함수 위에 전역변수로 선언합니다.

카드는 앞면과 뒷면이 있습니다. 카드 앞면에는 동물 이름이 들어가고 뒷면은 모두 동일합니다. 게임을 시작하면 카드는 모두 뒷면이 보입니다. 이를 나타내기 위해 arrayAnimal 배열의 모든 요소에 같은 값을 넣겠습니다. 배열을 초기화하는 initAnimalArray()함수를 main()함수 위에 선언합니다. arrayAnimal 배열을 초기화하기 위한 용도로만 사용하므로 전달값이나 반환값은 없습니다.

main()함수 아래에 initAnimalArray()함수를 정의합니다. arrayAnimal 배열은 2차원 배열이므로 이중 반복문을 사용해 arrayAnimal[0][0]~arrayAnimal[3][4]까지 20개 요소에 -1을 저장합니다.

main()함수에서 initAnimalArray()함수를 호출합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.