체스 미션 저장소
킹, 퀸, 룩, 비숍, 나이트, 폰
- 처음 움직일 때 앞으로 최대 2칸 움직일 수 있다.
- 대각선으로 한 칸 움직여 공격한다.
- 평소에는 앞으로 한 칸 움직인다.
- L자로 움직인다. (총 3칸 이동)
- 기물을 뛰어넘을 수 있다.
- 대각선으로만 움직인다.
- 상하좌우로 움직인다.
- 상하좌우, 대각선으로 움직인다.
- 상하좌우, 대각선으로 한 칸 움직인다.
- 기물은 움직일 수 있는지 판단한다.
- source 위치부터 target 위치까지 이동 경로를 반환한다.
- 기물은 팀에 속해있어야 한다.
- 기물은 각각 점수로 변환된다.
- rank와 file을 가진다.
- rank와 file은 1이상 8이하의 정수여야 한다.
- 위치를 이동한다.
- BLACK, WHITE 두 팀이 있다.
- 같은 팀인지 판단한다.
- 기물을 움직인다.
- 특정 팀의 점수를 계산한다.
- King이 존재하는지 확인한다.
- 턴을 관리한다.
- 게임이 끝났는지 확인한다.
- 모든 팀의 점수를 구한다.
- 우승자를 찾는다.
- 점수를 더한다.
- 점수를 비교한다.
create table chess_game (
chess_game_id int AUTO_INCREMENT NOT NULL,
turn VARCHAR(40) NOT NULL,
PRIMARY KEY (chess_game_id)
);
- 체스게임을 생성한다.
- 체스게임을 조회한다.
- 체스게임 목록을 조회한다.
- 턴을 수정한다.
create table chess_board (
chess_board_id int AUTO_INCREMENT NOT NULL,
chess_game_id int NOT NULL,
piece_type VARCHAR(40) NOT NULL,
piece_rank int NOT NULL,
piece_file int NOT NULL,
team VARCHAR(40) NOT NULL,
PRIMARY KEY (chess_board_id),
FOREIGN KEY (chess_game_id) REFERENCES chess_game(chess_game_id) ON DELETE CASCADE
);
- 기물의 위치를 저장한다.
- 기물의 위치를 수정한다.
- 'start' 를 입력하여 시작한다.
- 게임 시작 시, 생성되어 있는 체스게임의 아이디를 보여준다.
- 이어서 실행할 게임의 아이디를 입력한다.
- 새로 시작하려면 'new' 를 입력한다.
- 게임을 새로 생성하면 생성된 체스게임 아이디를 출력해준다.
- 'end' 를 입력하여 종료한다.