Skip to content

dongho108/java-chess

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-chess

체스 미션 저장소

우아한테크코스 코드리뷰

기능목록

  • 체스말의 각 진영은 흑팀(알파벳 대문자), 백팀(알파벳 소문자)으로 구분한다.
  • 체스말은 위치를 가진다.
  • 게임시작시에 체스판이 초기화된다.
    • 각 체스 말은 생성될때 default 위치를 가진다.
  • 체스판에서 말의 위치 값은 가로 위치는 왼쪽부터 a ~ h이고, 세로는 아래부터 위로 1 ~ 8로 구현한다.
  • 체스 말을 이동시킨다.
    • 기물에 따라 행마법이 달라야 한다.
    • 언제나 백이 첫수를 두게 되며 이후에는 흑과 백이 번갈아가며 한 수씩 둔다.
      • 자신의 차례가 되면 반드시 기물을 움직여야 한다.
      • 자신의 말만 움직일 수 있다.
      • 옮기는 위치에 상대 기물이 있다면 상대 기물을 kill
  • 명령어 start, move, end를 구분한다.
    • 정의되지 않은 명령어인지 판단한다.
    • move source위치 target위치을 입력받으면 말을 이동한다. 예) move b2 b3
  • King 이 잡혔을 때 게임을 종료해야 한다.
  • 현재 남아 있는 말에 대한 점수를 구할 수 있어야 한다.
    • 말 점수
      • queen : 9점
      • rook : 5점
      • bishop : 3점
      • knight : 2.5점
      • pawn : 1점
        • 같은 세로줄에 같은 색의 폰이 있는 경우 0.5점
      • king : 0점
  • status 명령을 입력하면 각 진영의 점수를 출력하고 어느 진영이 이겼는지 결과를 볼 수 있어야 한다.

기물들의 행마법

  • 상하좌우로 칸 수 제한 없이 움직일 수 있다.
  • 기물을 뛰어 넘을 수 없다.

비숍

  • 대각선 방향으로 칸 수 제한 없이 움직일 수 있다.
  • 기물을 뛰어 넘을 수 없다.

  • 주변에 있는 1칸 범위(가로,세로,대각선) 내로 움직일 수 있다.

  • 상하좌우로 칸 수 제한 없이 움직일 수 있다.
  • 대각선 방향으로 칸 수 제한 없이 움직일 수 있다.
  • 기물을 뛰어 넘을 수 없다.

나이트

  • L자모양으로 움직일 수 있다.
  • 기물을 뛰어 넘을 수 있다.

  • 색에 따라 이동할 수 있는 방향이 다르다.
    • 화이트는 위로만 이동할 수 있다.
    • 블랙은 아래로만 이동할 수 있다.
  • 폰은 앞으로만 전진 할 수 있으되, 상대방의 기물을 잡을때는 무조건 사선방향으로만 잡는다.
  • 폰은 처음 움직일때, 한 칸 또는 두 칸을 전진할 수 있다. 이후 무조건 한 칸씩만 전진할 수 있다.
  • 기물을 뛰어 넘을 수 없다.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 81.4%
  • HTML 18.6%