Skip to content

[kakao] paul.an 사전과제 제출합니다#201

Open
anchangmin35 wants to merge 9 commits intonext-step:mainfrom
anchangmin35:paul
Open

[kakao] paul.an 사전과제 제출합니다#201
anchangmin35 wants to merge 9 commits intonext-step:mainfrom
anchangmin35:paul

Conversation

@anchangmin35
Copy link

No description provided.

구현해야 할 기능 목록과 요구사항을 README.md에 정리하여 추가함
- 게임 시작 및 초기화 조건 정의
- 사용자 입력 및 유효성 검사(예외 처리) 항목 상세화
- 게임 점수 계산 로직 및 결과 출력 흐름 정리
- 제약사항과 단위 테스트에 대한 요구사항 추가
게임 시작 시 컴퓨터가 1에서 9까지의 서로 다른 임의의 수 3개를 선택하는 기능 구현
- Computer 도메인 클래스 생성
- java.util.Random을 사용하여 난수 생성 로직 구현
- 중복되지 않는 3개의 숫자를 List에 저장
사용자와 상호작용하여 값을 입력받는 InputView 클래스 구현
- 게임 진행을 위한 숫자 입력 요청 및 수신(inputNumber)
- 게임 종료 후 재시작/종료 여부 입력 요청 및 수신(inputRestartNumber)
- java.util.Scanner를 사용하여 콘솔 입력 처리
사용자 입력 값에 대한 검증 로직을 담당하는 Validator 구현
- 숫자 여부, 길이(3자리), 범위(1~9), 중복 여부 검증
- 재시작/종료 입력 값(1, 2) 검증
- 유효하지 않은 입력 시 에러 메시지 발생
컴퓨터의 수와 사용자의 입력을 비교하여 스트라이크/볼을 판별하는 Referee 클래스 구현
- 같은 수가 같은 자리에 있는 경우 스트라이크 개수 계산
- 같은 수가 다른 자리에 있는 경우 볼 개수 계산
- 비교 결과를 통해 스트라이크와 볼의 개수를 Map 형태로 반환하는 기능
계산된 결과를 화면에 출력하고 게임의 시작부터 종료, 재시작까지의 흐름을 제어함
- OutputView: 볼/스트라이크 개수 및 낫싱, 게임 종료 문구 출력 기능
- GameController: 정답을 맞출 때까지 반복하는 라운드 진행 로직
- GameController: 게임 종료 후 사용자 입력(1, 2)에 따른 재시작/종료 분기 처리
InputView 클래스의 메서드에 대한 설명 주석 작성
- 숫자 입력 (inputNumber) 메서드
- 게임 재시작/종료 입력 (inputRestartNumber) 메서드
- Validator 반환값을 boolean에서 ValidationResult로 변경
- Referee 결과 타입을 Map에서 Result로 변경
- BaseballController의 입력 파싱/검증 흐름 정리
- OutputView가 Result 기반 출력과 printError를 처리하도록 변경
- Computer 숫자 생성 규칙(개수, 범위, 중복, 반복) 테스트
- Referee 판정(스트라이크, 볼, 낫싱) 시나리오 테스트
- Result 승리, 패배 시나리오 테스트
- InputParser 문자열 -> 리스트 파싱 테스트
- Validator 입력 검증, 에러 메시지 테스트
- ValidationResult ok, fail 테스트
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant