Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

안뇽하쇼 DB잘 모르기 때문에 날카로운 지적부탁 #13

Open
wants to merge 58 commits into
base: hanueleee
Choose a base branch
from

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 <[email protected]>

* docs: 기능목록 작성

Co-authored-by: hanueleee <[email protected]>

* docs: 기능목록 수정

Co-authored-by: hanueleee <[email protected]>

* feat: Position 구현

Co-authored-by: hanueleee <[email protected]>

* feat: Position 검증 기능 추가

Co-authored-by: hanueleee <[email protected]>

* feat: Piece 추상 클래스 구현

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

* feat: PieceFactory 기능 구현

Co-authored-by: hanueleee <[email protected]>

* feat: Board 생성 구현

Co-authored-by: hanueleee <[email protected]>

* feat: Board 초기화 구현

Co-authored-by: hanueleee <[email protected]>

* refactor: 패키지 이동

Co-authored-by: hanueleee <[email protected]>

* feat: InputView 구현

Co-authored-by: hanueleee <[email protected]>

* feat: CommandLine 구현

Co-authored-by: hanueleee <[email protected]>

* fix: Board 초기화 오류 해결

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

* feat: Piece에 타입 필드 추가

Co-authored-by: hanueleee <[email protected]>

* feat: ChessGame 구현

Co-authored-by: hanueleee <[email protected]>

* feat: PieceMapper 구현

Co-authored-by: hanueleee <[email protected]>

* feat: BoardDto 구현

Co-authored-by: hanueleee <[email protected]>

* feat: 체스보드 출력 구현

Co-authored-by: hanueleee <[email protected]>

* feat: ChessController 구현

Co-authored-by: hanueleee <[email protected]>

* feat: Application 구현

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

* feat(Board): 목적지에 같은 색깔 피스가 있는지 확인하는 기능 구현
Co-authored-by: hanueleee <[email protected]>

* feat(Board): 피스 위치 이동 기능 구현
Co-authored-by: hanueleee <[email protected]>

* mission: 미션1 구현

* mission: 미션2 구현

* mission: 미션3 구현

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

Co-authored-by: hanueleee <[email protected]>

* feat(Piece): 피스들 구현

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

* feat: 게임 전체 로직 조합

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

* refactor: 코드 정리

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

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

Co-authored-by: hanueleee <[email protected]>

* 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 <[email protected]>
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