➒ 반복할 때마다 입력한 숫자가 정답과 일치하는지 비교합니다. 조건을 비교한 결과에 따라 분기하므로 조건문으로 작성합니다. 조건은 입력한 숫자가 정답보다 클 때, 작을 때, 같을 때 3가지이므로 if-else if-else 문으로 작성합니다. 입력한 숫자가 정답보다 크면 ‘DOWN ↓’을 출력하도록 if 문으로 작성합니다. 입력한 숫자가 작다면 ‘UP ↑’을 출력하도록 else if 문을 작성합니다. 그리고 입력한 숫자가 뽑은 숫자와 같다면, 즉 정답을 맞힌다면 ‘정답입니다!’를 출력하고 break 문으로 반복문을 탈출하도록 else if 문을 작성합니다. 그리고 혹시 모를 예외 상황을 대비한 else 문도 추가합니다.
➓ 마지막에 정답을 맞히지 못하고 기회를 다 썼을 경우에 바로 종료하지 않고 실패했다고 알려 주고 싶습니다. 그런데 while 문의 조건을 chance > 0으로 주면 이 부분을 작성할 수 없습니다. 이를 위해 while 문의 조건을 1로 바꿉니다. 마지막에 추가로 chance가 0일 때를 if 문의 조건으로 줘서 문장을 출력합니다. 그런데 while 문의 조건이 1이면 무한 루프에 빠질 수 있습니다. C 언어에서 1은 참, 0은 거짓으로 인식한다고 했습니다(3.3.3 do-while 문 참고). 그래서 조건이 참일 때, 즉 1일 때는 항상 반복문을 실행합니다. 그러므로 while 문의 조건을 1로 줄 때는 조심해야 합니다. 조건을 만족하면 반복문을 탈출할 수 있게 break 문을 넣어 줍니다. 예외 상황이 싫다면 반복문의 조건을 chance > 0으로 주고 마지막 if 문을 빼도 됩니다.
이 내용을 바탕으로 코드를 작성해 봅시다. 책에 나온 코드를 보기 전에 설명한 내용을 참고해서 직접 코드를 작성해 본 후 책의 코드와 비교해 보세요.