- 숫자 야구 게임 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 과제를 제출한다.
- 게임을 시작(종료)하는 기능
- 랜덤 숫자(컴퓨터의 수)를 생성하는 기능
- 3자리 수 자체를 의미하는 별도의 클래스(
Numbers
)를 만들고, 랜덤으로 생성한 숫자를 사용하여 객체 생성
- 3자리 수 자체를 의미하는 별도의 클래스(
- 플레이어의 입력을 받는 기능
- 플레이어의 입력값을 사용하여
Numbers
객체 생성- 생성자에서 입력값에 대한 유효성 검사를 수행(1~9의 수로 구성된 3자리 수인지), 필요 시 예외 발생
- 입력을 받을 수 있는 방법은 여러가지가 있지 않을까? (요구사항 변경 가능성 고려)
- 플레이어의 입력값을 사용하여
BallCount
객체의 기능- 플레이어의 수와 컴퓨터의 수를 비교하여, 볼카운트를 판단하는 기능(ex. 1볼 1스트라이크, 낫싱, 3스트라이크, ...)
- 볼카운트를 콘솔에 출력
- 3개의 숫자를 모두 맞췄는지의 여부(boolean)를 리턴
- 결과(볼카운트)를 출력하는 기능
- 객체 간의 책임을 명확하게 분리하자
- 미래에 요구사항이 변경될 가능성을 고려하면서 설계하자(인터페이스 사용 등)
- 테스트 코드를 최대한 꼼꼼히 짜보자
- 처음부터 너무 완벽하게 하려고 하지 말자