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

[체스 - 3, 4 단계] 재즈(함석명) 미션 제출합니다. #18

Open
wants to merge 18 commits into
base: seokmyungham
Choose a base branch
from

Commits on Mar 25, 2024

  1. [1, 2단계 - 체스] 재즈(함석명) 미션 제출합니다. (woowacourse#703)

    * docs : 기능 구현 목록 작성
    
    * feat : Poistion 객체 생성
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat : Unit 객체 생성
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat : 각 기물에 대한 객체 생성 및 보드 초기화
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat : 명령어를 입력 받고 초기화한 보드를 출력하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * refactor : 전략 인터페이스를 도입하여 체스판 초기화 리팩터링
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * fix : 행, 열 방향 수정
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(RookMoveStrategy) : 룩 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(BlackPawnMoveStrategy) : 블랙 폰 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(WhitePawnMoveStrategy) : 화이트 폰 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(BishopMoveStrategy) : 비숍 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(QueenMoveStrategy) : 퀸 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(KingMoveStrategy) : 킹 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(KnightMoveStrategy) : 나이트 이동 전략에 따른 이동할 수 있는 위치를 계산하는 기능 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(Row) : 검증 추가 및 검증 테스트
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(Column) : 검증 추가 및 검증 테스트
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * feat(ChessGameController) : 도메인과 뷰를 연결하는 컨트롤러 구현
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * refactor(SpecialPieceMoveStrategy) : 폰을 제외한 특별 기물의 중복 로직을 추상화
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * refactor(PawnMoveStrategy) : 폰 기물의 중복 로직을 추상화
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * refactor : 테스트코드가 추상 인터페이스에 의존하도록 리팩터링
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * fix(WhitePawnMoveStrategy) : 화이트 폰 이동 방향 수정
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * refactor(ChessGame) : generateMovablePositions 메서드 리팩터링
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * style : TODO 제거
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * docs : 구현 기능 목록 동기화
    
    Co-authored-by: seokmyungham <[email protected]>
    
    * refactor(ChessGame): movePiece 메서드 리팩토링
    
    * refactor(ChessGame): ChessGame 클래스 리팩토링
    
    * fix: 추상 클래스 생성자 접근제한자 protected로 변경
    
    * refactor(Board): initializePawn 메서드 내부 인덴트 1로 수정
    
    * refactor(MoveStrategy): Deque 대신 Queue를 사용하도록 변경
    
    * refactor(Position): 불필요한 toString 제거
    
    * refactor(Row): 가독성 향상을 위해 Enum 이름 변경
    
    * fix: 테스트 클래스 접근 제한자 public 제거
    
    * refactor: 사용자 입력에 대한 관심사를 컨트롤러로 부터 분리
    
    * refactor(OutputView): 체스 판을 의미하는 문자열 상수화
    
    * fix(Command): 클래스 이름 오타 수정
    
    * refactor(Board): 보드 초기화 로직을 별도의 factory 클래스로 분리
    
    * fix(MoveRequestDto): 멤버 변수 private final 키워드 누락 수정
    
    * refactor: 멤버 변수 forwardDirection을 사용하지 않도록 리팩토링
    
    * refactor(ChessGame): 유효한 위치들을 모으는 로직의 중복을 제거
    
    * refactor(PositionsFilter): 이동 가능한 로직만 모으는 로직을 PositionFilter 객체로 분리
    
    * test(BoardTest): 보드 초기화 테스트 추가
    
    * fix(chessGame): 필드 Board 접근 제한자 private으로 수정
    
    * feat(chessGame): 체스 게임에 턴 개념 기능 추가
    
    ---------
    
    Co-authored-by: jhon3242 <[email protected]>
    seokmyungham and jhon3242 authored Mar 25, 2024
    Configuration menu
    Copy the full SHA
    5eec398 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Configuration menu
    Copy the full SHA
    44befb2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    67070ed View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Configuration menu
    Copy the full SHA
    42cfa33 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3cf2780 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2cb887d View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2024

  1. Configuration menu
    Copy the full SHA
    5c47f78 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2024

  1. Configuration menu
    Copy the full SHA
    972d9d8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    19d005c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e495e9e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5062766 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0777b71 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b4ce577 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ba433da View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d144ce7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3d97e2d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c9d5677 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    6ba1c2d View commit details
    Browse the repository at this point in the history