Skip to content

Latest commit

 

History

History
102 lines (89 loc) · 3.24 KB

File metadata and controls

102 lines (89 loc) · 3.24 KB

Chess Game

1. Game Introduction

The chess game, which is commonly known, has been implemented using a Swing GUI.

2. Installation Method

2.1 Execution Environment

  • Java 17 or higher

3. Game Development Status

3.1 Component Implementation

  • Chessboard implementation
  • Piece implementation
  • Piece movement implementation
  • Castling implementation
    • Kingside castling implementation
    • Queenside castling implementation
  • Pawn promotion implementation
  • En passant implementation

3.2 Game End Conditions Implementation

  • Victory conditions implementation
    • Checkmate implementation
    • Check implementation
  • Draw conditions implementation
    • Stalemate implementation
    • 50-move rule implementation
    • Threefold repetition rule implementation
    • Draw by agreement implementation

3.3 Log Implementation

  • Turn display log implementation

3.4 Game Save and Load Implementation

  • Game save implementation
    • Game serialization implementation
    • Save file name with UTC time implementation
  • Game load implementation
    • Game deserialization implementation
    • Load game by file name implementation

3.5 Additional Features Implementation

  • Game start screen implementation
  • Undo implementation
  • Redo implementation
  • Game end screen implementation

4. Computer Match Implementation

  • Integration with open-source chess engine (Stockfish)
  • Improvement of serialization state and logging method (planned to use FEN (Forsyth-Edwards Notation))
  • Improve to update only the update panel when playing against the computer.
  • Implementation of rating setting function for computer matches

체스 게임(Chess Game)

1. 게임소개

일반적으로 알고있던 체스게임을 스윙 GUI를 통하여 구현했습니다.

2. 설치방법

2.1. 실행환경

  • Java 17 이상

3. 게임개발 현황

3.1 구성요소 구현

  • 체스판 구현
  • 말 구현
  • 말 이동 구현
  • 캐슬링 구현
    • 킹사이드 캐슬링 구현
    • 퀸사이드 캐슬링 구현
  • 폰 프로모션 구현
  • 앙파상 구현

3.2 게임종료 조건 구현

  • 승리 조건 구현
    • 체크메이트 구현
    • 체크 구현
  • 무승부 조건 구현
    • 스테일메이트 구현
    • 50수 룰 구현
    • 3회 반복 룰 구현
    • 무승부 동의 구현

3.3 로그 구현

  • 차례 표시 로그 구현

3.4 게임 저장 및 불러오기 구현

  • 게임 저장 구현
    • 게임 직렬화 구현
    • utc 시간으로 파일명 저장 구현
  • 게임 불러오기 구현
    • 게임 역직렬화 구현
    • 파일명으로 게임 불러오기 구현

3.5 부가 요소 구현

  • 게임 시작 화면 구현
  • undo 구현
  • redo 구현
  • 게임 종료 화면 구현

4. 컴퓨터 대전 구현

  • 오픈소스 체스 엔진 연동 (Stockfish)
  • 직렬화 상태 및 로그방법의 개선 (FEN(Forsyth-Edwards Notation) 사용 예정)
  • 컴퓨터 대전시 업데이트 패널만 업데이트할수있게 개선합니다.
  • 컴퓨터 대전시 레이팅 설정 기능 구현