Skip to content

CODE-CLEANERS/TDD-Playground

Repository files navigation

출처

체스 게임 구현 체크리스트

입력

  • 체스 게임 시작을 위해 입력해야 할 명령어의 문구를 출력합니다.
  • 체스 게임 시작을 위한 명령을 입력받습니다.
    • 명령은 start, move, end로 구성됩니다.
      • 예외처리: start, move, end 외의 입력은 받을 수 없습니다.
    • move 명령은 move {원래 칸} {이동할 칸}의 형태로 입력받습니다.
      • 예외처리: move 뒤에 값은 {원래 칸} {이동할 칸} 형태여야 합니다.
    • 게임이 끝났을 경우: status 명령을 입력받을 수 있습니다.
      • 예외처리: start, move, end 명령을 입력받을 수 없습니다.

명령 수행

  • 체스 게임을 시작합니다.
  • 체스 게임에서 말의 이동을 수행합니다.
    • 위치가 변경될 때마다 체스판을 출력합니다.
  • 체스 게임을 끝냅니다.

체스판 초기설정

  • 게임 시작시 체스판은 초기화 됩니다.
  • 체스판은 가로 8, 세로 8의 길이로 구성됩니다.
  • 체스말을 배치합니다.
    • 위: 대문자 줄 RNBQKBNR, 둘째 줄은 P로 이루어집니다.
    • 중간: 나머지 부분은 .으로 채워집니다.
    • 아래: 소문자 첫 줄 p, 둘째 줄은 rnbqkbnr

말 이동

  • 첫 번째 인자는 현재 위치, 두 번째는 이동할 위치로 구성됩니다.
  • 현재 위치에서 이동할 위치로 갈 수 있는지 확인합니다.
    • 예외처리: 현재 위치의 말은 해당 턴에 이동가능한 색의 말이어야 합니다.
    • 예외처리: 이동할 위치가 체스판을 벗어날 수 없습니다.
    • 예외처리: 이동할 위치에 같은 색깔의 말이 있어서는 안됩니다.
    • 예외처리: 이동할 위치가 말이 이동 가능한 규칙에 해당해야 합니다.
  • 이동할 위치로 말을 이동시킵니다.
    • 이동할 위치에 말이 존재할 경우 다른 색깔의 말을 제거합니다.
    • 이동한 위치에 말이 존재하지 않을 경우 현재 위치를 비우고 이동할 위치로 말을 변경합니다.

게임 종료

  • 'King'이 잡혔을 때, 게임을 종료합니다.

점수 계산

  • 각 말들은 점수를 가질 수 있습니다.
    • 퀸 : 9점
    • 룩 : 5점
    • 비숍 : 3점
    • 나이트 : 2.5점
    • 폰 : 1점
    • 킹 : 0점
  • 'King'이 잡혔을 때, 점수를 계산합니다.
    • 같은 세로줄에 같은 색의 폰이 있는 경우, 폰은 0.5점입니다.

출력

  • 체스판을 출력합니다.
  • 각 진영의 점수와 어느 진영이 이겼는지를 출력합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages