체스 게임 구현을 위한 저장소
- 좌표는 행과 열 enum으로 이루어져 있다.
- 이동 룰을 가진다.
- 흑백을 가진다.
- 기물의 종류는 폰, 룩, 나이트, 비숍, 퀸, 킹 이 있다.
- 기물과 위치를 가진다.
- 기물 초기 위치를 초기화한다.
- 체스판의 위치 값은 가로위치는 왼쪽부터 a ~ h이고, 세로는 아래부터 위로 1 ~ 8로 구현한다.
- 기물이동 위치에 기물이 있을 경우
- 상대 기물일 경우 잡는다.
- 자신의 기물일 경우 이동할 수 없다.
- 해당 기물의 이동룰에 따라 이동한다.
- 보드 바깥으로 이동할 수 없다.
- 이동하는 경로에 다른 기물이 있으면 이동할 수 없다.
- King이 잡혔을 경우 패배
- status 명령 입력시 진영 점수와 결과를 출력한다.
- 점수 계산 규칙
- queen은 9점, rook은 5점, bishop은 3점, knight는 2.5점이다. pawn의 기본 점수는 1점이다. 하지만 같은 세로줄에 같은 색의 폰이 있는 경우 1점이 아닌 0.5점을 준다.
- King은 점수가 없다.
- 한 번에 한 쪽의 점수만을 계산해야 한다.
- 게임 시작은 start, 종료는 end 명령을 받는다.
- 기물 이동은 move from위치 to위치을 입력 이동한다.