- database 폴더로 이동한다.
- docker-compose.yml를 통하여 docker를 실행한다.
- init.sql의 명령어를 docker 내부에서 차례로 실행한다.
- IDE를 통해 ChessApplication를 실행한다.
- 무슨 팀인지 알려준다.
- 자신의 기물 점수를 알려준다.
- queen 9점, rook 5점, bishop 3점, knight 2.5점, king 0점
- pawn은 1점, 같은 세로줄에 같은 색의 폰이 있는 경우 0.5점
- 이동 가능한지 판단한다.
- 해당 경로를 구한다.
- 흰색, 검은색을 구분한다.
- 말 점수를 서로 더할 수 있다.
- 체스 말 위치 초기화를 한다.
- 해당 위치에 어떤 말이 있는지 알려준다.
- 시작 위치의 말을 도착 위치로 옮긴다.
- 시작 위치에 말이 없을 경우 예외
- 말의 이동 범위를 넘어갈 경우 예외
- 이동 경로에 다른 말이 있을 경우 예외
- 마지막 위치에 적 말이 있을 경우, 잡아먹는다.
- 흰색부터 번갈아가며 플레이한다.
- 상대편 왕을 잡으면, 해당 팀의 게임 승리로 게임을 종료한다.
- 현재 각 팀별 기물 점수를 구한다.
- 가로 위치(왼쪽부터 a~h)를 저장한다.
- 세로 위치(아래부터 1~8)를 저장한다.
- 서로 같은 위치인지 판단한다.
- 다음 동, 서, 남, 북쪽 위치를 알려준다.
- 각 말을 한 번 움직임을 저장할 수 있다.
- 말의 전체 위치를 저장할 수 있다.
- 게임이 끝나, 저장소를 초기화할 수 있다.
- 현재 진행중인 게임이 있는지 알 수 있다.
- 체스판에서 각 진영은 검은색(대문자)과 흰색(소문자) 편으로 구분한다.