본 숫자 야구 게임은 MVC 패턴을 기반으로 구현하도록 한다.
게임의 핵심 도메인 로직을 담당한다.
- 봇(컴퓨터)의 랜덤 숫자 생성
- 플레이어(사용자)의 입력 검증
- 스트라이크 / 볼 / 낫싱 판정
- 게임 종료 조건 판단
사용자와의 입출력을 담당하며 게임 로직을 포함하지 않는다.
- 게임 시작 안내 출력
- 사용자 입력 요청
- 판정 결과 출력
- 게임 종료 및 재시작 안내
Model과 View를 연결하며 게임의 전체 흐름을 제어한다.
- 게임 시작
- 입력 처리
- 판정 요청
- 종료 및 재시작 여부 결정
- 코드 컨벤션 툴 세팅
- 링크의 코드 컨벤션을 따르도록 인텔리제이 환경 세팅
- 봇의 숫자 생성 로직 구현
- 봇(컴퓨터)가 1~9 사이의 서로 다른 수로 이루어진 3자리 숫자를 생성한다.
- 봇의 숫자 생성 로직 구현 단위 테스트
- 플레이어 입력 검증 로직 구현
- 플레이어(사용자)는 1~9 사이의 3자리 숫자를 입력할 수 있다.
- 입력값이 유효하지 않으면 예외를 발생시킨다.
- 플레이어 입력 검증 로직 구현 단위 테스트
- '스트라이크' 개수 카운팅 로직 구현
- 스트라이크는 숫자도 맞고 위치도 맞은 경우
- '스트라이크' 개수 카운팅 로직 구현 단위 테스트
- '볼' 개수 카운팅 로직 구현
- 볼은 숫자는 맞지만 위치는 틀린 경우
- '볼' 개수 카운팅 로직 구현 단위 테스트
- 게임 진행 및 종료 뷰 구현
- 게임 진행 및 종료 컨트롤러 구현
- 게임 재시작 뷰 구현
- 게임 재시작 컨트롤러 구현