The chess game, which is commonly known, has been implemented using a Swing GUI.
- Java 17 or higher
- Chessboard implementation
- Piece implementation
- Piece movement implementation
- Castling implementation
- Kingside castling implementation
- Queenside castling implementation
- Pawn promotion implementation
- En passant 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
- Turn display log 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
- Game start screen implementation
- Undo implementation
- Redo implementation
- Game end screen 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
일반적으로 알고있던 체스게임을 스윙 GUI를 통하여 구현했습니다.
- Java 17 이상
- 체스판 구현
- 말 구현
- 말 이동 구현
- 캐슬링 구현
- 킹사이드 캐슬링 구현
- 퀸사이드 캐슬링 구현
- 폰 프로모션 구현
- 앙파상 구현
- 승리 조건 구현
- 체크메이트 구현
- 체크 구현
- 무승부 조건 구현
- 스테일메이트 구현
- 50수 룰 구현
- 3회 반복 룰 구현
- 무승부 동의 구현
- 차례 표시 로그 구현
- 게임 저장 구현
- 게임 직렬화 구현
- utc 시간으로 파일명 저장 구현
- 게임 불러오기 구현
- 게임 역직렬화 구현
- 파일명으로 게임 불러오기 구현
- 게임 시작 화면 구현
- undo 구현
- redo 구현
- 게임 종료 화면 구현
- 오픈소스 체스 엔진 연동 (Stockfish)
- 직렬화 상태 및 로그방법의 개선 (FEN(Forsyth-Edwards Notation) 사용 예정)
- 컴퓨터 대전시 업데이트 패널만 업데이트할수있게 개선합니다.
- 컴퓨터 대전시 레이팅 설정 기능 구현