java-chess
체스 게임 구현을 위한 저장소
기능 목록
게임 초기화
- 게임 시작 명령어를 입력받는다.
start
또는end
만 입력할 수 있다.
start
를 입력하면 체스판을 초기화한다.- 가로 위치는 왼쪽부터 a ~ h이고, 세로는 아래부터 위로 1 ~ 8이다.
end
를 입력하면 게임을 종료한다.
게임 진행
- 게임이 진행 될 때에는
move
,status
,end
세 가지 명령어를 사용할 수 있다. move source위치 target위치
를 입력하면 이동할 수 있다.- 예외
- source 위치에 말이 존재하지 않는 경우
- target 위치에 아군 말이 존재하는 경우
- 이동할 말이 움직일 수 없는 방향인 경우
- source 와 target 사이에 아군 혹은 적군의 말이 있는 경우
- 움직일 말이 폰인 경우에는 일반적인 말과 다른 규칙을 적용한다.
- 대각선 위치로 이동하는 경우 반드시 적군이 있어야 한다.
- 직선으로 이동하는 경우 말이 존재하지 않아야 한다.
- 초기 위치에 있는 경우에만 직선으로 두 칸 이동할 수 있다.
- 예외
- 게임을 처음 시작하면 흰색 말을 먼저 움직일 수 있다.
- 이동 후에는 턴을 상대 편으로 넘긴다.
- 이동 후에는 체스판의 상황을 출력한다.
status
를 입력하면 현재 점수를 출력한다.- 킹을 잡으면 게임이 종료되고, 결과를 출력한다.