더북(TheBook)

9.5.2 큰 상자에서 고양이 뽑기

게임이 시작되면 큰 상자에서 고양이를 뽑아야 합니다. 작은 상자 5개에 서로 다른 고양이 5마리가 들어갈 때까지 반복합니다. 이 부분을 작성해 보겠습니다.

어떤 고양이를 뽑을지 모르게 난수를 이용해 무작위로 뽑겠습니다. 난수 생성은 뒤에서 진행하고 여기서는 난수 생성을 위해 필요한 기본 코드를 작성합니다. main()함수에서 난수 초기화 코드를 넣고, 헤더 부분에 time.h와 stdlib.h 파일을 추가합니다.

큰 상자에서 고양이를 뽑으면 고양이를 담을 작은 상자가 필요합니다. 작은 상자는 collection이라는 이름으로 배열을 만들어 표시하겠습니다. 고양이가 5마리이므로 배열 크기는 5입니다. 배열 1칸이 작은 상자 하나를 의미합니다. 상자의 상태는 고양이가 있으면 1, 없으면 0으로 표시합니다. 아직 고양이를 뽑지 않았으므로 모두 0으로 초기화합니다.

작은 상자가 채워질 때까지 반복해야 하므로 while 문으로 무한 반복합니다.

큰 상자 클릭하기를 대신해 키보드에서 Enter를 누르면 무작위로 고양이가 뽑히게 하겠습니다. 이를 사용자가 알 수 있게 안내 문구를 출력하는 printf()문을 반복문 안에 작성합니다.

사용자가 입력한 Entergetchar()로 받습니다.

TIP     getchar()함수에서 반환값이 무시됐다는 경고 메시지가 나타나도 실행하는 데는 아무런 문제가 없으므로 무시합니다. 또는, getchar()함수 앞에 (void)를 추가해 경고를 없애도 됩니다.

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