Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* docs : README.md 업데이트 * feat : Coordinate 구현 * [feat] Position 객체 생성 - Position은 내부적으로 file과 rank를 알고 있다. - Position을 map으로 캐싱해서 String 입력 값에 따라 해당하는 position 객체를 반환 * feat: Piece, Knight 일부 구현 - Piece는 자신의 위치를 안다 - Piece는 자신이 속한 Player를 안다 * feat: board 생성 - Board를 초기화하기 위한 BoardInitializer 인터페이스 추가 - Board initializer가 사용할 초기 데이터인 InitialPieceRepository 추가 - EnumRepositoryBoardInitializer에서 repository를 참고하여 board 초기화 * feat: board에서 move에 대한 로직을 간단하게 구현 Todo. - 장애물이 있을 경우 판단하는 로직 구현 필요 - Knight를 제외한 다른 piece의 이동 규칙 구현 필요 * refactoring/feature: 전체 프로그램 설계 변경 및 기능 구현 - 게임의 진행 상태를 나타내는 State 생성 - Application 로직에 있던 내용을 Controller로 이동 - InputView의 리팩토링 - Board 출력을 위한 ResponseDto 생성 - OutputView에서 ResponseDto로 출력하는 로직 구현 - Piece의 색에 따라 toString 구현 - 한 게임을 관리하는 ChessGame 생성 - 이동을 위한 파라미터 객체인 MoveParameter 생성 * refactoring: EnumRepository의 구현을 변경 - EnumRepository에서 생성된 피스를 가지지 않고, 피스 generator를 가지고 있도록 변경 - EnumRespositoryInitializer에서는 해당하는 generator로 피스를 생성하여 보드 초기화 * rafactoring/feat : Knight, MovedPawn 테스트 및 이동 구현 - 이동 규칙에 적합하게 움직이는 지 테스트 - 중복되는 메서드를 템플릿 메서드로 분리 - PieceState를 적절하게 반환하도록 구현 * refactoring/feat : PieceState 구현 - Piece의 상태에 따라 Ready, Running, End로 분리 * feat : Rook 이동 구현 - Rook Test 구현 - Direction 개념 구현 - Direction 에 맞게 position 이동 구현 - Rook 이동 구현 * refactoring/feat : 기존 이동 로직 수정 및 Bishop 이동 구현 - Bishop Test 구현 - Direction 이 음수도 나오도록 수정 - Direction 에 맞게 position 이동 수정 - Bishop 이동 구현 * refactoring/feat : King 이동 구현 - King Test 구현 - Direction 에 존재하지 않는 target의 경우 예외처리 - King 이동 구현 * refactoring/feat : 전체 Piece 이동 로직 리팩토링, Turn 구현 - 현재 Trun인 플레이어만 move가 가능하도록 구현 - 각 Piece 이동에 맞게 테스트 refactor - Pawn 이동 규칙에 맞게 분리 * feat: Status 로직 구현, King이 죽으면 게임종료 구현 * refactor : king 죽음 리팩토링 - 플레이어 체크 안되는 버그 수정 * refactor : 컨벤션 리팩토링 - 접근제어자 추가 - 불필요한 객체 삭제 - 매직넘버 상수화 - 가독성이 떨어지는 메서드 분리 * refactor/feat : 설계 리팩토링 - indent 줄이기 위해 메서드 분리 - status 결과 객체 구현 - 결과 계산시 종료 구현 * refactor : 설계 리팩토링 - 컨벤션 리팩토링 - 테스트 에러 수정 * refactor : 리뷰 반영 * refactor : 불필요한 설계 수정 - state 패턴 삭제 - service layer 추가 - indent 규칙에 맞게 리팩토링 - 기타 컨벤션에 맞게 수정 * refactor : 불필요한 테스트 삭제 * feat : Status Test 추가 * refactor : package 이름 수정 * 임시 commit * feat : Web 환경 설계 및 DB 연동 - Index page에 접근가능하도록 구현 - Index page에서 현재 존재하는 방 목록 보여주도록 구현 - DB에 접근하여 방 목록을 가져오도록 구현 * feat : 게임방 기능 구현 - 저장시 DB에 저장 - 불러오기 시 DB 로부터 게임 load - 진행중인 게임을 저장하지 않고 종료시 DB 삭제 - 진행중인 게임에서 새 게임 플레이 가능 * refactor : 불필요한 메서드 삭제 * feat : ChessService 테스트 구현 * fix, style : 완료된 게임 저장시 버그 수정, 클래스 명 수정 * refactor : 불필요한 throw 문 삭제 * refactor : 불필요한 setter 메서드를 생성자로 대체 * style : local 변수를 상수로 대체 * style : 일부 stream 표현을 foreach 로 대체 * fix : 우승 표시가 올바르지 않게 표시되던 버그 수정 * style : 불필요한 문장 삭제, 변수명 수정 * refactor : 테스트 저장소 초기화 * refactor : responseDto에 unknown 필드 추가 * refactor : ResponseDto 필드 접근제어자 변경, ChessService Start Command 처리 수정
- Loading branch information