주어진 숫자를 맞추는 게임입니다.(기본 숫자 길이 : 3개)
- 숫자 입력
- 입력 된 숫자의 일치정보를 힌트로 제공
- 스트라이크 : 같은 수가 같은 자리에 있을 경우
- 볼 : 같은 수가 다른 자리에 있을 경우
- 나싱 : 같은 수가 전혀 없을 경우
- 모든 숫자 스트라이크 달성 시 게임 종료
- 재시작 여부 선택 (1 : 재시작, 2 : 완전 종료)
- 게임 관리 모듈 (GameManager)
- 게임을 시작 할 수 있습니다.
- 게임의 재시작/종료를 관리합니다.
- 게임 진행 모듈 (Game)
- 게임의 핵심 기능을 수행합니다. (유효성 및 점수 계산 호출)
- 현재 게임의 진행 정보를 가집니다.
- 랜덤 숫자 생성 모듈 (RandomGenerator)
- 주어진 게임 길이 만큼 랜덤 숫자를 생성합니다.
- 숫자 비교 및 힌트 메시지 출력 모듈 (ScoreCalculatorAndPrinter)
- 입력된 수와 Random 생성 된 수를 비교하고, 현재 점수를 힌트로 출력합니다.
- 입력값 유효성 체크 모듈 (UserInputValidator)
- 입력값은 모두 숫자이고, 정해진 숫자 길이여야 합니다.
- 한 자리당 1~9까지 입력 가능합니다.
- 입력값은 null일 수 없습니다.
- Message
- 게임에 필요한 메시지 정보를 담고 있습니다.