Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
cc63dfd
docs(readme): 프로젝트 기능 목록 기재
mingmingmon Feb 2, 2026
1533cfe
chore(convention): 코드 컨벤션 툴 세팅
mingmingmon Feb 2, 2026
36e79ac
feat(random number): 봇의 숫자 생성 로직 구현
mingmingmon Feb 2, 2026
e56ea54
test(random number): 봇의 숫자 생성 로직 단위 테스트
mingmingmon Feb 2, 2026
c92a5d5
feat(player number): 플레이어 입력 검증 로직 구현
mingmingmon Feb 4, 2026
6dca94f
test(player number): 플레이어 입력 검증 로직 단위 테스트
mingmingmon Feb 4, 2026
bb5985e
feat(strike): 스트라이크 개수 카운팅 로직 구현
mingmingmon Feb 4, 2026
7673126
test(strike): 스트라이크 개수 카운팅 로직 단위 테스트
mingmingmon Feb 4, 2026
52686f9
feat(ball): 볼 개수 카운팅 로직 구현
mingmingmon Feb 4, 2026
a1a55d1
fix(ball): 플레이어가 입력으로 중복된 숫자를 입력한 경우를 고려하여 볼 카운팅 로직 수정
mingmingmon Feb 4, 2026
d0ec6bf
test(ball): 볼 개수 카운팅 로직 단위 테스트
mingmingmon Feb 4, 2026
60152a7
docs(readme): 기능 목룍에 플레이어 입력 판정 로직 및 단위테스트 항목 추가
mingmingmon Feb 4, 2026
72866ee
feat(judge): 플레이어 입력 판정 로직 구현
mingmingmon Feb 4, 2026
15c6c77
test(judge): 플레이어 입력 판정 로직 단위 테스트
mingmingmon Feb 4, 2026
7bd4a29
docs(readme): 게임 재시작 관련 기능 항목을 진행과 종료 항목으로 흡수
mingmingmon Feb 4, 2026
47e40d3
feat(view): 게임 진행 및 종료 뷰 구현
mingmingmon Feb 4, 2026
fa94827
feat(controller): 게임 진행 및 종료 컨트롤러 구현
mingmingmon Feb 4, 2026
62785cf
fix(ball): 플레이어의 숫자에서 중복된 수가 연속인 경우 스트라이크로 사용된 숫자가 볼로 계산되는 버그 수정
mingmingmon Feb 4, 2026
f161bda
feat(main): 게임 구동 main 함수 구현
mingmingmon Feb 4, 2026
ea2a7e7
fix(error message): 에러 메세지 출력 시 요구사항에 따른 프리픽스 출력하도록 수정
mingmingmon Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 55 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,55 @@
# java-baseball-precourse
# java-baseball-precourse

## 프로그램 설계

본 숫자 야구 게임은 MVC 패턴을 기반으로 구현하도록 한다.

### Model

게임의 핵심 도메인 로직을 담당한다.

- 봇(컴퓨터)의 랜덤 숫자 생성
- 플레이어(사용자)의 입력 검증
- 스트라이크 / 볼 / 낫싱 판정
- 게임 종료 조건 판단

### View

사용자와의 입출력을 담당하며 게임 로직을 포함하지 않는다.

- 게임 시작 안내 출력
- 사용자 입력 요청
- 판정 결과 출력
- 게임 종료 및 재시작 안내

### Controller

Model과 View를 연결하며 게임의 전체 흐름을 제어한다.

- 게임 시작
- 입력 처리
- 판정 요청
- 종료 및 재시작 여부 결정

## 기능 목록 (커밋 단위)

- [ ] 코드 컨벤션 툴 세팅
- [링크](https://naver.github.io/hackday-conventions-java/)의 코드 컨벤션을 따르도록 인텔리제이 환경 세팅
- [ ] 봇의 숫자 생성 로직 구현
- 봇(컴퓨터)가 1~9 사이의 서로 다른 수로 이루어진 3자리 숫자를 생성한다.
- [ ] 봇의 숫자 생성 로직 구현 단위 테스트
- [ ] 플레이어 입력 검증 로직 구현
- 플레이어(사용자)는 1~9 사이의 3자리 숫자를 입력할 수 있다.
- 입력값이 유효하지 않으면 예외를 발생시킨다.
- [ ] 플레이어 입력 검증 로직 구현 단위 테스트
- [ ] '스트라이크' 개수 카운팅 로직 구현
- 스트라이크는 숫자도 맞고 위치도 맞은 경우
- [ ] '스트라이크' 개수 카운팅 로직 구현 단위 테스트
- [ ] '볼' 개수 카운팅 로직 구현
- 볼은 숫자는 맞지만 위치는 틀린 경우
- [ ] '볼' 개수 카운팅 로직 구현 단위 테스트
- [ ] 플레이어 입력 판정 로직 구현
- [ ] 플레이어 입력 판정 로직 구현 단위 테스트
- [ ] 게임 진행 및 종료 뷰 구현
- [ ] 게임 진행 및 종료 컨트롤러 구현
- [ ] 게임 구동 main 함수 구현
Loading