Skip to content

jaceleedev/number-guess-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

숫자 맞추기 게임 구현 요구사항

개요

C 언어를 사용하여 숫자 맞추기 게임을 구현합니다. 본 게임은 사용자가 컴퓨터가 선택한 숫자를 추측하는 게임입니다.


기본 요구사항

1. 랜덤 숫자 생성

  • 컴퓨터는 게임마다 랜덤한 숫자를 선택합니다.
  • 숫자는 1부터 최대 값(난이도에 따라 변경) 사이에서 선택됩니다.

2. 사용자 입력

  • 사용자로부터 숫자를 입력받습니다.
  • 입력된 숫자가 정답보다 크거나 작은지에 따라 힌트 메시지를 제공합니다.
  • 사용자가 정답을 맞히면 **"정답입니다!"**라는 메시지를 출력하고 시도 횟수를 보여줍니다.

3. 게임 재시작

  • 게임 종료 후 사용자에게 게임 재시작 여부를 묻습니다.
  • 사용자가 재시작을 선택하면 새로운 숫자를 생성하여 게임을 다시 시작합니다.

추가 기능

1. 난이도 선택

  • 게임 시작 시 사용자가 난이도를 선택합니다.
  • 난이도에 따라 맞춰야 할 숫자의 범위가 변경됩니다:
    • 쉬움: 1 ~ 100
    • 중간: 1 ~ 1000
    • 어려움: 1 ~ 10000
  • 잘못된 난이도를 선택한 경우 기본 난이도(쉬움)로 설정합니다.

2. 최고 점수 기록

  • 게임에서 정답을 맞히는 데 걸린 최소 시도 횟수최고 점수로 기록합니다.
  • 사용자가 정답을 맞힐 때마다 현재 게임의 시도 횟수를 최고 점수와 비교하여:
    • 더 적은 시도 횟수라면 최고 점수를 갱신하고 축하 메시지를 출력합니다.
    • 그렇지 않다면 현재 최고 점수를 표시합니다.

3. 시간 제한

  • 각 게임에 시간 제한을 추가합니다.
  • 사용자가 제한 시간(기본: 30초) 내에 정답을 맞히지 못하면 게임 실패 메시지를 출력하고 정답을 알려줍니다.
  • 남은 시간을 실시간으로 표시하여 사용자에게 시간을 경고합니다.

구현 시 유의사항

  1. 랜덤 숫자 생성을 위한 시드 초기화

    • srand(time(NULL));를 사용하여 매번 다른 랜덤 숫자를 생성하도록 합니다.
  2. 입력 유효성 검사

    • 사용자 입력이 숫자가 아닌 경우 오류 메시지를 출력하고 다시 입력을 요청합니다.
  3. 출력 메시지

    • 사용자가 게임을 진행하며 상황을 쉽게 이해할 수 있도록 메시지를 적절히 구성합니다.
  4. 코드 구조

    • 함수 사용 여부는 자유롭게 선택합니다. 함수 없이도 구현 가능하도록 설계해야 합니다.

참고

  • 난이도 선택과 최고 점수 기록은 점진적으로 구현하도록 설계되었습니다.
  • 시간 제한 구현이 어렵다면 먼저 기본 기능과 난이도 선택만 구현한 뒤, 추가적인 연습으로 시간을 제한하는 코드를 작성해보세요.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages