-
Notifications
You must be signed in to change notification settings - Fork 178
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
[임루트] 체스 스프링 실습 4단계 제출합니다. #177
Conversation
* Initial commit * initial commit * upgrade library version, config useJUnitPlatform * [동글] 체스 미션 1주차 제출합니다. (#87) * [Test] 테스트란다 * docs: 기능 구현 목록 생성 * feat: 위치 객체 생성 * feat: Position 캐싱 적용 * feat: Position 캐싱 추가 구현 * test: 체스말 테스트 코드 추가 * feat: 게임 말, 폰, 팀 클래스 추가 * feat: 모든 종류 체스말 클래스 생성 * feat: 명령어 enum 추가 * docs: README 수정 * refactor: Piece 내의 Position 제거 * feat: 체스 말 도달 가능 경로 반환 로직 추가 * feat: 직선경로 여부 판단로직 추가 * feat: 두 체스말의 행이 일치하는지 확인하는 기능 구현 * feat: 두 위치의 행이 일치하는 경우 경로 계산 * docs: 기능목록 수정 * feat: 보드 클래스 추가 * test: Board의 생성 테스트 작성 * feat: 보드 위 체스말 이동 기능 추가 * feat: MoveValidStrategy 클래스 생성 * feat: 주어진 경로(List<Position>)안에 말이 있는지 판별하는 로직 추가 * test: 체스말의 경로 이동 가능 여부 테스트 추가 * feat: 랭크 대소 비교 로직 추가 * feat: 파일(열) 비교 로직 추가 * refactor: PieceTest를 PawnTest와 RookTest로 분리 * feat: string을 통해 File 객체 찾기 추가 * refactor: Strategy관련 코드 삭제, Board내부로 체스말 이동 로직 옮김 * feat: 흑팀 체스말 초기화 * feat: 백팀 체스말 초기화, View 생성 * feat: 체스판 출력 기능 * feat: Team판별 로직 추가 * feat: 체스판 출력 기능 보완 * feat: 컨트롤러 생성 * feat: 게임 명령어 입력 기능 추가 * feat: 1단계 완료 * feat: 게임 시작 메시지 출력 메서드 추가 * feat: controller에 while문 추가 * feat: 이동할 좌표 입력 메서드 추가 * feat: 비숍 이동 여부 확인 기능 추가 * feat: 주어진 두 위치가 대각선인지 확인하는 로직 추가 * feat: 비숍의 좌상 대각선 방면 경로 확인 기능 * feat: 대각선 위치의 두 Position의 경로를 찾는 메서드 추가 * test: 비숍이동 로직 테스트 작성 * feat: 대각선 위치의 두 Position의 경로를 찾는 메서드 구현 * feat: 퀸 이동 기능 구현 * test: 퀸, 나이트, 킹 테스트 코드 추가 * feat: King 이동 가능 여부 판단 메서드 생성 * feat: King 이동 가능 여부 판단 메서드 구현 * feat: Knight 이동 가능 여부 판단 메서드 구조 구현 * test: Pawn 테스트 코드 작성 * test: Pawn의 첫 움직임 테스트 코드 작성 * test: Pawn 두칸 이동시 첫이동 여부 확인 * feat: Pawn의 움직임이 유효한지 체크하는 로직 추가 * feat: Pawn의 이동경로 반환 기능 구현 * feat: 상대 말을 잡는 로직 생성 * refactor: Bishop 이동경로 구하는 로직 변경 * feat: King, Knight 이동경로 구하는 로직 변경 * feat: 두 Position 사이의 모든 Position들을 반환하는 메서드 추가 * fix: Pawn 이동 로직 버그 수정 * fix: 테스트코드 fail 해결 * feat: 게임 종료 기능 구현 * refactor: 반복 조건 변경 * feat: 점수계산, 킹 잡힘 여부 확인 로직 수정 * feat: 기물의 이동과 기물의 catch 분리, 폰 움직임 버그 수정 * refactor: 개선된 보드 클래스 적용 * refactor: 메서드 포장 * feat: 현재 남아있는 체스말 기준 팀별 점수 계산 구현 * feat: 게임중 예외 발생시 명령어 재 입력 기능 * feat: Position 행, 열 중복 제거 * fix: 테스트 코드 버그 수정 * refactor: 일부 메서드 이름 수정 * refactor: 불필요 클래스 제거 * feat: 웹 UI 추가, 게임 시작시 , 게임 판 초기화, 점수판 갱신 * feat: 체스게임 상태 패턴 적용, 명령어별 컨트롤러 실행로직 enum 집중화 * test: 테스트 케이스 추가 * test: 테스트 케이스 추가 * fix: 킹이 잡혀서 게임이 끝나는 경우, 승자 출력안되는 버그 수정 * test: command 테스트 케이스 추가 Co-authored-by: 황준호 <42054054+hwanghe159@users.noreply.github.com> * [동글] 체스 웹/DB 미션 제출합니다. (#152) * refactor: 일부 클래스, 메소드 이름 변경, 메서드 추출, Board 일부 로직 변경 * feat: 팀별 점수 계산 기능 클래스 추출 * feat: 체스 기물 이미지 추가 * feat: 팀별 점수 반환기능 추가 * style: code formatting * feat: 보드위 놓여있는 모든 기물 dto 목록 반환 기능 추가 * feat: 보드위 기물 이동 기능, 변화 생긴 지점 BoardDTO 목록 반환 기능 추가 * feat: 웹 UI 체스말 이동 기능 추가 * fix: 게임 중간에 재시작을 누르는 경우, 게임턴이 백팀으로 초기화 되지 않는 버그 수정 * feat: 체스 말 이동 기능 추가 * fix: 체스 기물 이미지 클릭시, cell이 클릭 되지 않는 버그 수정 * feat: 웹상 게임 상태 종료 여부 체크, 조건에 따른 게임 종료 기능 추가 * feat: data base 연결 추가 * docs: 기능목록 구현 갱신 * refactor: http api response 구조 변경 위한 response 관련 클래스 추가 * refactor: 응답 json 데이터 응답상태, 데이터, 메시지 형태로 포맷화 * refactor: dao에서 사용하는 jdbc 공통 로직 jdbctemplate로 분리 * fix: jdbc template out of bound index exception 버그 수정 * refactor: controller 모든 응답 내 try-catch 문 중복 제거 * refactor: jdbc template 내 중복 제거, DAO find 반환 타입 optional 변경 * refactor: 게임 상태 변경 요청 로직내 if-else 문 중복 제거 * refactor: 상태 값 반환 타입 enum 에서 string 으로 변경 * refactor: index 페이지 랜더링 객체 static 변수로 미리 생성 * refactor: 문자열 -> board 객체 파싱로직 리팩토링, 생성자 인자 null 검증 추가 * refactor: 점수 계산 기능 Result 객체로 위임 * refactor: 피드백 반영 * refactor: js 함수들 변수로 표현 * test: service 테스트 추가 * chore : 기존 체스 구현 가져옴 * refactor : 이동경로 반환 전략 적용 * refactor : 보드를 파싱하는 로직을 분리 * refactor : StateType enum 제거 * refactor : GameState을 Game으로 수정 * Board 에서 parseString() 지우기 * refactor : 패키지 구조 변경 및 import 문 정리 * refactor : board parser 매직넘버 제거, 변수명 변경 Co-authored-by: 박재성 <pobi@woowahan.com> Co-authored-by: 황준호 <42054054+hwanghe159@users.noreply.github.com>
* feat : spring 컨트롤러 작성 * feat : spring 컨트롤러 작성 완료 * refactor : 기존 예외처리 로직 controller에서 service로 이동, 알트 피드백 반영 * fix : 충돌 해결 * style : 자바 컨벤션에 맞도록 코드 수정 * fix : 병합 충돌 해결 * refactor : chess controller view, rest controller 로 분리
* feat : spring-data-jdbc 적용 * refactor : game 도메인 id 필드 제거 * refactor : game entity id getter 제거 * refactor : 피드백 반영
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
와~ 4단계 구현도 너무 잘해주셨어요! 💯💯💯
따로 리뷰남길만한게 없어서 못남겼네요😂
다만, 한 가지 궁금한 사항에 대해 코멘트 남겼으니 확인해주세요!
@Test | ||
void contextLoads() { | ||
UUID uuid = UUID.randomUUID(); | ||
System.out.println(uuid); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
어떤 걸 테스트하기 위한 코드인가요? 🤔
UUID가 제대로 생성되는지를 위한 테스트코드라면, 메서드명의 의미는 무엇인지 궁금해요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앗 실수입니다...!^^;;
삭제했습니다 감사합니다~
안녕하세요~ 임루트입니다.
드디어 마지막 단계네요~
잘부탁드립니다~!^^