/woowahan-java-chess

우아한테크코스 체스 미션

Primary LanguageJava

java-chess

##구현할 기능

  1. 입력
    1. 게임시작
      1. 입력받은 명령이 "start"인지 검증
    2. 게임종료
      1. 입력받은 명령이 "end"인지 검증
    3. 말 이동
      1. 입력받은 명령이 "move"인지 검증
      2. source 위치와 target 위치 검증
        1. 체스 판의 범위를 넘어가지 않는지 확인
        2. source와 target이 중복되는지 확인
    4. 점수 확인
      1. 입력받은 명령이 "status"인지 검증
  2. 체스 판 생성
    1. 체스 타일 생성
    2. 체스 말 생성
  3. 게임 진행
    1. 말 이동

      1. source위치에 있는 말이 target위치로 이동할 수 있는지 확인

        1. source위치에 있는 말이 target위치로 한번에 이동 가능한지 확인
        2. 체스 판에서 경로에 말이 있는지 확인 (이동이 가능한지)
        3. target 위치에 말이 있는지 없는지 확인
        4. target 위치에 말이 있으면 같은 팀인지 상대 팀인지 확인
      2. target 위치에 상대팀 말이 있을 경우

        1. 죽음 처리(말의 상태를 변경)
        2. target 위치의 타일에 새로운 말로 업데이트
        3. source 위치의 타일에 말 삭제처리
    2. 게임종료 조건 확인

      1. 체크메이트 확인
      2. King이 죽었는지 확인
      3. "end" 입력시 게임종료
    3. 스폐셜 규칙 적용

      1. 앙파상
      2. 캐슬링
      3. 프로모션