From e350817acbde9b49d40516d31c307c37b2e67192 Mon Sep 17 00:00:00 2001 From: Giyoul Date: Tue, 24 Mar 2026 17:38:40 +0900 Subject: [PATCH 01/33] docs: add feature list in README --- README.md | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9775dda0ae..47b1781037 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,84 @@ # java-janggi -장기 미션 저장소 +## 📋 목차 +- [개요](#-개요) +- [구현 기능 목록](#-구현-기능-목록) +- [입출력 요구 사항](#입출력-요구-사항) +- [커밋 컨벤션](#커밋-컨벤션) + +--- + +## 1️⃣ 개요 + +### 기능 흐름 + +``` +추후 추가 예정 +``` + +## 2️⃣ 구현 기능 목록 + +### ✅ 1차 구현 기능 목록 +- [ ] **1. [출력] 상차림 예시를 출력한다.** +- [ ] **2. [입력] 상차림을 입력받는다.** + - [ ] [입력] 한의 상차림을 입력받는다. + - [ ] [예외 처리] 빈 입력일 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. + - [ ] [예외 처리] 1~4 외의 문자를 입력한 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. + - [ ] [입력] 초의 상차림을 입력받는다. + - [ ] [예외 처리] 빈 입력일 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. + - [ ] [예외 처리] 1~4 외의 문자를 입력한 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. +- [ ] **3. [중간 과정] 입력받은 상차림을 기준으로 기물을 배치한다.** +- [ ] **4. [출력] 현재 보드의 기물 배치를 출력한다.** +- [ ] **5. [출력] 착수 명령어 형식과 현재 어느 팀의 턴인지를 출력한다.** +- [ ] **6. [입력] 현재 턴의 진행자에게 착수 명령어를 입력받는다. (ex. '{출발좌표} {도착좌표}' 'A0 B1')** + - [ ] [예외 처리] 빈 입력일 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. + - [ ] [예외 처리] 입력받은 값이 지정 형식인 '{출발좌표} {도착좌표}'가 아닐 경우 ` IllegalArgumentException` 을 발생시키고, 재입력을 받는다. + - [ ] [예외 처리] 입력받은 col 값이 A~I 범위의 값이 아닌 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. + - [ ] [예외 처리] 입력받은 row 값이 0~9 범위의 값이 아닌 경우 `IllegalArgumentException` 을 발생시키고, 재입력을 받는다. +- [ ] **7. [중간 과정] 사용자가 명령한 착수를 수행한다.** + - [ ] [예외 처리] 아래의 경우 왜 이동이 불가능한 지 출력하고, 해당 플레이어의 턴으로 처음부터 재입력을 받는다. + - [ ] [중간 과정] 출발 좌표에 기물이 없는 경우 + - [ ] [중간 과정] 각 기물 고유의 이동 규칙에 따라 이동이 불가능한 경우 + - [ ] [중간 과정] 도착 좌표에 아군 기물이 있을 경우 + - [ ] [중간 과정] 도착 좌표에 상대 기물이 있으면 없앤다. + - [ ] [중간 과정] 출발 좌표에 있던 기물을 도착 좌표로 옮긴다. + - [ ] [중간 과정] 게임 승패를 판별한다. + - [ ] [중간 과정] 턴을 넘긴다. + +## 3️⃣ 입출력 요구 사항 + +### 실행 결과 예시 + +``` + +``` + +--- + +## 4️⃣ 커밋 컨벤션 + +Following convention : https://gist.github.com/stephenparish/9941e89d80e2bc58a153 + +```markdown +# basic structure +(): + + + +