Skip to content

LateNightSeoul/java-baseball-precourse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

미션 - 숫자 야구 게임

🚀 기능 요구사항

  • 이 게임은 프로그램이 1에서 9까지 서로 다른 임의의 수 3개를 정하고 이를 플레이어가 맞추는 게임이다.
  • 정답을 맞추기 위해 3자리수를 입력하고 힌트를 받는다.
  • 힌트는 야구용어인 볼과 스트라이크로 받는데, 같은 자리에 같은 숫자가 있는 경우를 스트라이크, 다른 자리에 숫자가 있는 경우를 로 정한다.
  • 같은 숫자가 하나도 없는 경우 힌트로 낫싱을 받는다.
    • 예시) 상대방(컴퓨터)의 수가 425일 때, 123을 제시한 경우: 1스트라이크, 456을 제시한 경우: 1볼 1스트라이크, 789를 제시한 경우: 낫싱
  • 3자리 숫자가 정답과 같은 경우 게임이 종료된다.
  • 게임을 종료한 후 게임을 다시 시작하거나 완전히 종료할 수 있다.
  • 아래의 프로그래밍 실행 결과 예시와 동일하게 입력과 출력이 이루어져야 한다.

🎱 프로그래밍 요구사항

  • 자바 코드 컨벤션을 지키면서 프로그래밍한다.
    • 기본적으로 Google Java Style Guide을 원칙으로 한다.
    • 단, 들여쓰기는 '2 spaces'가 아닌 '4 spaces'로 한다.
  • indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
    • 예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다.
    • 힌트: indent(인덴트, 들여쓰기) depth를 줄이는 좋은 방법은 함수(또는 메소드)를 분리하면 된다.
  • 3항 연산자를 쓰지 않는다.
  • 함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라.
  • System.exit 메소드를 사용하지 않는다.
  • 비정상적 입력에 대해서는 IllegalArgumentException을 발생시킨다.

📈 진행 요구사항


구현할 기능

  • RandomUtils를 활용하여 랜덤한 3개의 숫자를 생성한 뒤 Answer 배열에 저장하는 기능
  • 사용자로부터 값을 입력받아 값이 올바른지 판별하는 기능 (아닐 경우 IllegalArgumentException)
  • 사용자로부터 입력받은 값을 받아 "스트라이크", "볼", "낫싱"을 출력하는 기능
  • 사용자가 정답을 맞췄을 경우 다시 play할 것인지 종료할 것인지 판별하는 기능 (Without System.exit)

개발 계획

  • 구현할 클래스 설계
  • 각 클래스 별로 기능 개발
  • 리팩토링
  • 오류 수정 및 최종 점검

.

📝 License

This project is MIT licensed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages