Skip to content

gangfunction/swingChess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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) 사용 예정)
  • 컴퓨터 대전시 업데이트 패널만 업데이트할수있게 개선합니다.
  • 컴퓨터 대전시 레이팅 설정 기능 구현

About

chessGame made with javaSwing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages