Skip to content

Conversation

@hanueleee
Copy link

No description provided.

woowahan-neo and others added 30 commits March 13, 2023 12:57
* feat: Database 연결

Co-authored-by: hanueleee <ezzeezz@naver.com>

* docs: 기능목록 작성

Co-authored-by: hanueleee <ezzeezz@naver.com>

* docs: 기능목록 수정

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Position 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Position 검증 기능 추가

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Piece 추상 클래스 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Piece 상속하는 King,Queen,Rook,Knight,Bishop,Pawn 추가

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: PieceFactory 기능 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Board 생성 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Board 초기화 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor: 패키지 이동

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: InputView 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: CommandLine 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* fix: Board 초기화 오류 해결

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Board에 Piece리스트를 반환하는 메서드 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Piece에 타입 필드 추가

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: ChessGame 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: PieceMapper 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: BoardDto 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: 체스보드 출력 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: ChessController 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: Application 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: 해당 좌표의 피스를 구하는 기능 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: 좌표에서 또다른 좌표로 방향 구하는 로직 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: 좌표에서 방향 더하는 연산 추가

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: 이동 경로 상에 다른 피스가 있는지 확인하는 기능 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(Board): 목적지에 같은 색깔 피스가 있는지 확인하는 기능 구현
Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(Board): 피스 위치 이동 기능 구현
Co-authored-by: hanueleee <ezzeezz@naver.com>

* mission: 미션1 구현

* mission: 미션2 구현

* mission: 미션3 구현

* feat: 보드에서 말 이동 검증 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(Piece): 피스들 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(Position): 거리 계산하는 로직 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(Game): 검증 후 이동하는 로직 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(GameStatus): 게임 상태 관리 기능 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat: 게임 전체 로직 조합

Co-authored-by: hanueleee <ezzeezz@naver.com>

* style(View): 출력 문구 수정

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor(BoardDto): 게임 대신 보드를 주입하는 방식으로 수정

Co-authored-by: hanueleee <ezzeezz@naver.com>

* feat(OutputView): 에러 메세지 출력 기능 구현

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor(Controller): 메서드 정리 및 게임 턴 책임 분리

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor(EmptyPiece): 빈 피스 실행 예외 처리

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor: 코드 정리

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor(Board): 보드 리펙토링

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor(Game): 게임 리펙토링

Co-authored-by: hanueleee <ezzeezz@naver.com>

* refactor: this 제거

* refactor(PieceMapper): if 대신 Map을 사용하여 분기 줄이기

* refactor(Piece): 모든 Piece 상속 클래스들의 생성자 로직을 정적 팩토리 메서드 내부로 이동(생성자 단순화)

* refactor(Position): 위치 간의 방향을 계산하는 로직 수정

* refactor: 에러 메시지 상수 해제

* refactor(dto): BoardDto의 책임을 RankDto와 분배

* refactor(view): 시작 메시지를 각각 단일 상수화

* refactor: 패키지 정리

* test: PieceMapper 테스트

* refactor(Board): getPiecesAt -> findAllByRank 메소드명 수정 및 stream 제거

* refactor(ChessController): 정확한 예외클래스 지정

* refactor(Color): static메소드 해제

* refactor: 메소드 순서 정리, 코드 중복 제거

---------

Co-authored-by: echo <echo.backend@gmail.com>
1. 기존 public 이었던 주 생성자를 private으로 수정
2. DB로부터 Board정보를 읽어와 새로운 Board를 만들 때 사용하기 위한 정적팩토리메소드 load 추가
3. BoardGenerator의 generate결과 값으로 map이 아닌 Board를 반환하도록 수정
(기존) 2 개의 주 생성자
(현재) 1 개의 주 생성자 + 2개의 정적 팩토리 메소드
1. save와 updateById의 파라미터 수정
(기존) List<PieceInfoDto>
(현재) PieceInfoDto
2. findById 메소드명 수정 (findById -> findAllById)
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.

2 participants