Skip to content

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

Notifications You must be signed in to change notification settings

fucct/jwp-chess

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-chess

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

기능 요구 사항

  • 콘솔 UI에서 체스 게임을 할 수 있는 기능을 구현한다.
  • 1단계는 체스 게임을 할 수 있는 체스판을 초기화한다.
  • 체스판에서 말의 위치 값은 가로 위치는 왼쪽부터 a ~ h이고, 세로는 아래부터 위로 1 ~ 8로 구현한다.
  • 체스판에서 각 진영은 검은색(대문자)과 흰색(소문자) 편으로 구분한다.
  • 체스 말의 이동 규칙을 찾아보고 체스 말이 이동할 수 있도록 구현한다.
  • move source위치 target위치 를 실행해 이동한다.
  • 체스 게임은 상대편 King이 잡히는 경우 게임에서 진다. King이 잡혔을 때 게임을 종료해야 한다.
  • 체스 게임은 현재 남아 있는 말에 대한 점수를 구할 수 있어야 한다.
  • “status”명령을 입력하면 각 진영의 점수를 출력하고 어느 진영이 이겼는지 결과를 볼 수 있어야 한다.
  • 점수 계산 규칙
    • 체스 프로그램에서 현재까지 남아 있는 말에 따라 점수를 계산할 수 있어야 한다.
    • 각 말의 점수는 queen은 9점, rook은 5점, bishop은 3점, knight는 2.5점이다.
    • pawn의 기본 점수는 1점이다. 하지만 같은 세로줄에 같은 색의 폰이 있는 경우 1점이 아닌 0.5점을 준다.
    • king은 잡히는 경우 경기가 끝나기 때문에 점수가 없다.
    • 한 번에 한 쪽의 점수만을 계산해야 한다.

프로그래밍 요구 사항

구현할 기능 목록

  • 게임 설명 출력
  • 명령 입력받는다. (start, end, move, status)
    • 예외 : 처음에는 start, end 만 들어올 수 있다.
    • 예외 : start 는 한 번만 입력할 수 있다.
    • 예외 : Null, empty 등 유효하지 않은 입력이 들어올 수 없다.
    • 예외 : move 는 source 위치와 target 위치를 공백으로 구분하여 입력받아야 한다. 예시 - move b2 b3
    • 예외 : move 에서 source 또는 target 값이 체스 판 밖일 때
  • 체스판을 출력하는 기능
  • 체스 말이 이동하는 기능
    • 예외 : source 가 빈 칸인 경우
    • 예외 : source 가 상대 체스 말인 경우
    • source 가 내 체스 말일 때
      • Pawn 일 경우
        • 북쪽으로 한 칸 이동할 수 있는 기능
          • 예외 : 처음에만 북쪽으로 2칸까지 이동할 수 있는 기능
          • 앞 대각선에 상대 말이 있으면 잡을 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • Rook 일 경우
        • 동서남북쪽으로 끝까지 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • Bishop 일 경우
        • 모든 대각선 방향으로 끝까지 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • Knight 일 경우
        • 직진 후 대각선 방향으로 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 말을 넘어갈 수 있다
      • Queen 일 경우
        • 동서남북, 대각선 방향으로 끝까지 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • King 일 경우
        • 동서남북, 대각선 방향으로 한 칸 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • 예외 : 경로가 막혀있으면 갈 수 없다
    • target 이 상대 King 인 경우 게임을 종료
  • status 기능
    • 각 진영의 점수를 확인하는 기능
  • 승패를 출력하는 기능# java-chess 체스 게임 구현을 위한 저장소

기능 요구 사항

  • 콘솔 UI에서 체스 게임을 할 수 있는 기능을 구현한다.
  • 1단계는 체스 게임을 할 수 있는 체스판을 초기화한다.
  • 체스판에서 말의 위치 값은 가로 위치는 왼쪽부터 a ~ h이고, 세로는 아래부터 위로 1 ~ 8로 구현한다.
  • 체스판에서 각 진영은 검은색(대문자)과 흰색(소문자) 편으로 구분한다.
  • 체스 말의 이동 규칙을 찾아보고 체스 말이 이동할 수 있도록 구현한다.
  • move source위치 target위치 를 실행해 이동한다.
  • 체스 게임은 상대편 King이 잡히는 경우 게임에서 진다. King이 잡혔을 때 게임을 종료해야 한다.
  • 체스 게임은 현재 남아 있는 말에 대한 점수를 구할 수 있어야 한다.
  • “status”명령을 입력하면 각 진영의 점수를 출력하고 어느 진영이 이겼는지 결과를 볼 수 있어야 한다.
  • 점수 계산 규칙
    • 체스 프로그램에서 현재까지 남아 있는 말에 따라 점수를 계산할 수 있어야 한다.
    • 각 말의 점수는 queen은 9점, rook은 5점, bishop은 3점, knight는 2.5점이다.
    • pawn의 기본 점수는 1점이다. 하지만 같은 세로줄에 같은 색의 폰이 있는 경우 1점이 아닌 0.5점을 준다.
    • king은 잡히는 경우 경기가 끝나기 때문에 점수가 없다.
    • 한 번에 한 쪽의 점수만을 계산해야 한다.

프로그래밍 요구 사항

구현할 기능 목록

  • 게임 설명 출력
  • 명령 입력받는다. (start, end, move, status)
    • 예외 : 처음에는 start, end 만 들어올 수 있다.
    • 예외 : start 는 한 번만 입력할 수 있다.
    • 예외 : Null, empty 등 유효하지 않은 입력이 들어올 수 없다.
    • 예외 : move 는 source 위치와 target 위치를 공백으로 구분하여 입력받아야 한다. 예시 - move b2 b3
    • 예외 : move 에서 source 또는 target 값이 체스 판 밖일 때
  • 체스판을 출력하는 기능
  • 체스 말이 이동하는 기능
    • 예외 : source 가 빈 칸인 경우
    • 예외 : source 가 상대 체스 말인 경우
    • source 가 내 체스 말일 때
      • Pawn 일 경우
        • 북쪽으로 한 칸 이동할 수 있는 기능
          • 예외 : 처음에만 북쪽으로 2칸까지 이동할 수 있는 기능
          • 앞 대각선에 상대 말이 있으면 잡을 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • Rook 일 경우
        • 동서남북쪽으로 끝까지 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • Bishop 일 경우
        • 모든 대각선 방향으로 끝까지 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • Knight 일 경우
        • 직진 후 대각선 방향으로 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 말을 넘어갈 수 있다
      • Queen 일 경우
        • 동서남북, 대각선 방향으로 끝까지 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • King 일 경우
        • 동서남북, 대각선 방향으로 한 칸 갈 수 있다
          • 가는 도중 상대 체스 말이 있으면 잡을 수 있다
        • 예외 : target 에 가는 도중 체스 말이 있으면 넘어갈 수 없다
      • 예외 : 경로가 막혀있으면 갈 수 없다
    • target 이 상대 King 인 경우 게임을 종료
  • status 기능
    • 각 진영의 점수를 확인하는 기능
  • 승패를 출력하는 기능

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 81.6%
  • HTML 16.8%
  • Other 1.6%