C 언어를 사용하여 숫자 맞추기 게임을 구현합니다. 본 게임은 사용자가 컴퓨터가 선택한 숫자를 추측하는 게임입니다.
- 컴퓨터는 게임마다 랜덤한 숫자를 선택합니다.
- 숫자는 1부터 최대 값(난이도에 따라 변경) 사이에서 선택됩니다.
- 사용자로부터 숫자를 입력받습니다.
- 입력된 숫자가 정답보다 크거나 작은지에 따라 힌트 메시지를 제공합니다.
- 사용자가 정답을 맞히면 **"정답입니다!"**라는 메시지를 출력하고 시도 횟수를 보여줍니다.
- 게임 종료 후 사용자에게 게임 재시작 여부를 묻습니다.
- 사용자가 재시작을 선택하면 새로운 숫자를 생성하여 게임을 다시 시작합니다.
- 게임 시작 시 사용자가 난이도를 선택합니다.
- 난이도에 따라 맞춰야 할 숫자의 범위가 변경됩니다:
- 쉬움: 1 ~ 100
- 중간: 1 ~ 1000
- 어려움: 1 ~ 10000
- 잘못된 난이도를 선택한 경우 기본 난이도(쉬움)로 설정합니다.
- 게임에서 정답을 맞히는 데 걸린 최소 시도 횟수를 최고 점수로 기록합니다.
- 사용자가 정답을 맞힐 때마다 현재 게임의 시도 횟수를 최고 점수와 비교하여:
- 더 적은 시도 횟수라면 최고 점수를 갱신하고 축하 메시지를 출력합니다.
- 그렇지 않다면 현재 최고 점수를 표시합니다.
- 각 게임에 시간 제한을 추가합니다.
- 사용자가 제한 시간(기본: 30초) 내에 정답을 맞히지 못하면 게임 실패 메시지를 출력하고 정답을 알려줍니다.
- 남은 시간을 실시간으로 표시하여 사용자에게 시간을 경고합니다.
-
랜덤 숫자 생성을 위한 시드 초기화
srand(time(NULL));
를 사용하여 매번 다른 랜덤 숫자를 생성하도록 합니다.
-
입력 유효성 검사
- 사용자 입력이 숫자가 아닌 경우 오류 메시지를 출력하고 다시 입력을 요청합니다.
-
출력 메시지
- 사용자가 게임을 진행하며 상황을 쉽게 이해할 수 있도록 메시지를 적절히 구성합니다.
-
코드 구조
- 함수 사용 여부는 자유롭게 선택합니다. 함수 없이도 구현 가능하도록 설계해야 합니다.
- 난이도 선택과 최고 점수 기록은 점진적으로 구현하도록 설계되었습니다.
- 시간 제한 구현이 어렵다면 먼저 기본 기능과 난이도 선택만 구현한 뒤, 추가적인 연습으로 시간을 제한하는 코드를 작성해보세요.