Skip to content

woowacourse-6th-code-review-study/java-chess

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date
Mar 30, 2024
Feb 7, 2024
Apr 1, 2024
Mar 29, 2024
Mar 31, 2024
Mar 30, 2024
Feb 7, 2022
Feb 7, 2024
Feb 7, 2024

Repository files navigation

java-chess

페어와 지킬 컨벤션

  1. 클래스 정의 다음 줄은 공백으로 한다.
  2. test code에 사용하는 메서드는 static import한다.
  3. this는 같은 클래스의 객체가 파라미터로 넘어왔을 때, 파라미터 변수 명이 필드의 변수 명과 겹칠 때 사용한다.

기능 요구 사항

체스 말

  • 무슨 팀인지 알려준다.
  • 자신의 기물 점수를 알려준다.
    • queen 9점, rook 5점, bishop 3점, knight 2.5점, king 0점
    • pawn은 1점, 같은 세로줄에 같은 색의 폰이 있는 경우 0.5점

움직임

  • 이동 가능한지 판단한다.
  • 해당 경로를 구한다.

  • 흰색, 검은색을 구분한다.

말 점수

  • 말 점수를 서로 더할 수 있다.

체스 보드

  • 체스 말 위치 초기화를 한다.
  • 해당 위치에 어떤 말이 있는지 알려준다.
  • 시작 위치의 말을 도착 위치로 옮긴다.
    • 시작 위치에 말이 없을 경우 예외
    • 말의 이동 범위를 넘어갈 경우 예외
    • 이동 경로에 다른 말이 있을 경우 예외
    • 마지막 위치에 적 말이 있을 경우, 잡아먹는다.
    • 흰색부터 번갈아가며 플레이한다.
    • 상대편 왕을 잡으면, 해당 팀의 게임 승리로 게임을 종료한다.
  • 현재 각 팀별 기물 점수를 구한다.

위치

  • 가로 위치(왼쪽부터 a~h)를 저장한다.
  • 세로 위치(아래부터 1~8)를 저장한다.
  • 서로 같은 위치인지 판단한다.
  • 다음 동, 서, 남, 북쪽 위치를 알려준다.

저장소

  • 각 말을 한 번 움직임을 저장할 수 있다.
  • 말의 전체 위치를 저장할 수 있다.
  • 게임이 끝나, 저장소를 초기화할 수 있다.
  • 현재 진행중인 게임이 있는지 알 수 있다.

출력

  • 체스판에서 각 진영은 검은색(대문자)과 흰색(소문자) 편으로 구분한다.

About

체스 게임 코드리뷰를 위한 저장소

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published