Skip to content

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

Notifications You must be signed in to change notification settings

junseoplee/java-chess

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-chess

1단계 - 체스판 초기화

기능 요구 사항

  • 체스판 생성
  • 체스판의 세로는 아래부터 위로 1 ~ 8로 구현한다
  • 체스판의 가로는 왼쪽부터 a ~ h로 구현한다
  • 체스 말 배치
  • 체스 말의 흑, 백은 대문자와 소문자로 구분한다
  • 체스 말의 종류는 폰, 룩, 나이트, 비숍, 퀸, 킹이 있다
  • 체스 말은 위치를 갖는다 (각자 초기 위치를 갖고있다)
    • 8: RNBQKBNR 배치
    • 7: PPPPPPPP 배치
    • 6~3: ........ 으로 배치
    • 2: pppppppp 배치
    • 1: rnbqkbnr 배치
  • 입력
  • 게임 시작 명령어는 start, 종료는 end 입력이 올바르지 않다면 예외 처리한다

2단계 - 말 이동

기능 요구 사항

  • 체스 말
  • 이동 가능한지 검사
    • 이동 위치에 같은 색의 체스 말이 있다면 이동할 수 없다 <- 체스판의 책임
    • 체스 말 마다 가능한 이동이 다르다 <- Piece 마다 다르게 가져온다
      • 이동 위치를 입력 받아 가능한 이동인지 계산하고 판단한다
  • 경로를 반환한다
  • 체스판
  • 체스 말을 움직인다
  • 체스 말들의 위치를 갖고 있다
    • 선택한 위치에 체스 말이 없다면 예외 처리한다
    • 체스 말을 이동할 순서가 다르다면 예외 처리한다
      • 이동은 색을 번갈아 가며 한다 -> controller
  • 체스 말이 반환한 경로 안에 다른 체스 말이 있는지 검사
    • 경로 안에 다른 체스 말이 있다면 이동할 수 없다 <- Path
  • 입력
  • move source위치 target위치을 실행해 이동한다

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%