Skip to content

gspear18/java-baseball-precourse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-baseball-precourse

프로젝트 소개

컴퓨터가 1에서 9까지의 서로 다른 임의의 수 3개를 선택하면, 사용자가 그 숫자를 맞추는 게임입니다.

입력한 숫자에 대한 결과(볼, 스트라이크, 낫싱)를 힌트로 얻어 컴퓨터의 수를 모두 맞추면 승리합니다.

기능 목록

  • 랜덤 숫자 생성: 1에서 9까지 서로 다른 임의의 수 3개를 선택하여 저장한다.

  • 재시작/종료 입력: 게임 종료 후 재시작(1) 또는 종료(2)를 구분하는 숫자를 입력받는다.

  • 사용자 숫자 입력: 사용자가 예측한 숫자 값을 입력

  • 입력값 예외 처리: 사용자가 잘못된 값을 입력했는지 검증한다.

    • 숫자가 아닌 값이 포함된 경우
    • 3자리가 아닌 경우
    • 1~9 사이의 숫자가 아닌 경우 (0 포함 시)
    • 중복된 숫자가 있는 경우
  • 판정 로직: 컴퓨터의 수와 사용자의 수를 비교하여 결과를 계산한다.

    • 같은 수가 같은 자리에 있으면 스트라이크
    • 같은 수가 다른 자리에 있으면
    • 같은 수가 전혀 없으면 낫싱

단위 테스트

  • 랜덤 숫자 생성 테스트: 3자리의 서로 다른 숫자가 올바르게 생성되어야 함.

    • 생성된 숫자가 3자리인지 확인
      • 예: 12, 1234
    • 3개 숫자 중 동일한 숫자가 존재
      • 예: 112, 1233, 333
    • 생성된 숫자에 0 존재
      • 예: 012, 0123
  • 재시작/종료 입력 테스트: 사용자는 1 또는 2를 입력해야 함.

    • 1, 2를 제외한 다른 숫자를 입력
      • 예: 0, 12
    • 문자 입력
      • 예: kakao
  • 사용자 숫자 입력 테스트: 사용자는 서로 다른 3개의 숫자를 입력해야 함.

    • 3자리가 아닌(2자리, 4자리 이상 등) 숫자 입력
      • 예: 12, 1234
    • 입력한 3개 숫자 중 동일한 숫자가 존재
      • 예: 112, 1233, 333
    • 입력한 숫자에 0 존재
      • 예: 012, 0123
    • 문자 입력
      • 예: kakao
  • 판정 로직 테스트: 사용자의 입력 값과 실제 값을 올바르게 판정해야 함.

    • 여러가지 상황에서 스트라이크, 볼, 낫싱 비교 결과가 일치 (댜양한 case를 만들어보아야 함)
      • 예: 428, 624, 921 등..

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%