/java-chess

체스 게임 구현을 위한 저장소

Primary LanguageJava

java-chess

체스 게임 구현을 위한 저장소

기능 목록

게임 초기화

  • 게임 시작 명령어를 입력받는다.
    • start 또는 end만 입력할 수 있다.
  • start를 입력하면 체스판을 초기화한다.
    • 가로 위치는 왼쪽부터 a ~ h이고, 세로는 아래부터 위로 1 ~ 8이다.
  • end를 입력하면 게임을 종료한다.

게임 진행

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