d34fe05cc6
Merge pull request #16 from CyB3RC0nN0R/f/pgn_save
...
Implemented game serialization to the PGN format
2019-12-11 07:53:46 +01:00
d0cfa4c1ff
Fixed setter parameter naming for fullmove number in Log
2019-12-11 07:53:44 +01:00
3e5d584e6f
Fixed missing end of line chunk in movetext
2019-12-11 07:45:39 +01:00
1fd1540d60
Fixed fullmove counters in PGN export
2019-12-10 21:27:06 +01:00
546b818345
Including fullmove counters in PGN export
2019-12-08 22:15:29 +01:00
719e4f99ef
Implemented saving to PGN file
...
+ copyVariations parameter in copy constructors of Board and Log
This procedure still required work in the form of efficiently rewinding
the board to the first position for SAN move extraction and shortening
SAN moves to the smallest possible representation.
2019-12-06 23:54:11 +01:00
927d5ed254
Working on SAN serialization of moves
...
+ SAN generation for castling moves
+ Appending promotion piece symbol in pawn promotion SAN
+ Asking the user to view a generated PGN file
2019-11-24 21:31:32 +01:00
21199dede5
Created Move#fromSAN, moved implementation from Board
2019-11-19 06:30:53 +01:00
cf5b507f00
Added a PGN file saving routine
...
+ showFileSaveDialog in DialogUtil
+ Javadoc in Log and PGNDatabase
+ "Save game file" button in MenuBar
+ saveFile method in MainWindow
+ Formatting and result tag in PGNGame tag pair serialization
2019-11-08 15:22:12 +01:00
12f6f7f0ef
Added empty save methods to PGNDatabase and PGNGame
2019-11-07 05:53:28 +01:00
39e40e8c2e
Fixed color switching button
...
* Renamed RestartEvent to GameStartEvent
* Moved event trigger to Game
* Renamed GameState to BoardState
* Added BoardState instance to MoveEvent
* Disabling the color switching button when a checkmate or stalemate is
reached
Fixes #1
2019-11-06 19:52:52 +01:00
198267c3b1
Using reflection in FENString, fixed input field in MainWindow
2019-11-05 05:51:41 +01:00
f70cd85f2c
Merge pull request #11 from CyB3RC0nN0R/f/pawn_promotion
...
Added pawn promotion
2019-11-05 05:44:11 +01:00
86a1c70eda
Added pawn promotion selection
...
* Letting a NaturalPlayer select the promotion piece with a combo box
* Optimized reflection use in PawnPromotion
* Changed toString method of Move to use LAN
Closes #9
2019-11-05 05:41:26 +01:00
5b99370884
Added pawn promotion support to LAN
2019-11-04 18:11:23 +01:00
e955f05016
Removed Type enumeration from Piece class
2019-11-04 05:51:11 +01:00
71f48895df
Implemented proper pawn promotion
...
* Moved move execution and reversion to the Move class
* Removed Move.Type enumeration
* Added Move subclasses Castling, EnPassant and PawnPromotion
* Generating all four possible pawn promotions in the Pawn class
* Temporarily removed special move support from NaturalPlayer
2019-11-03 15:46:08 +01:00
0edb83087b
Created getters for all fields in Move
2019-10-31 19:09:43 +01:00
3e7f379196
Moved board evaluation logic to MoveProcessor
2019-10-30 17:11:57 +01:00
3eb292b589
Added RestartEvent to clear move list after game restart
2019-10-30 06:12:31 +01:00
2fb917c1c6
Fully implemented castling conditions
...
Closes #8
2019-10-29 06:24:44 +01:00
d3d721a41b
Implemented 'go' command in UCI protocol
...
Closes #5
2019-10-28 18:54:00 +01:00
4e64e16fa7
Implemented 'position moves' command in UCI protocol
2019-10-28 18:31:18 +01:00
43d9fec0f2
Implemented 'currline' command in UCI protocol
2019-10-28 18:24:26 +01:00
caff59741c
Changed class Javadoc to use @author and @since tags
2019-10-26 07:55:21 +02:00
85a8bf817f
Merge pull request #7 from CyB3RC0nN0R/feature/io
...
Refined IO functionality, fixed FEN string serialization and deserialization
2019-10-25 17:01:55 +02:00
ada382aee6
Moved loadFile method to MainWindow, removed redundancies
2019-10-25 16:58:18 +02:00
5f6e2e514f
Removed old FEN string methods, fixed FEN regex
2019-10-25 11:52:48 +02:00
208f585c11
Moved castling right logging to Log
...
* Removed move counter from Piece
* Added castling right array to MoveNode and Log
* Removed castling right map from Board
* Added castling right serialization and deserialization to FENString
* Modified LogTest
2019-10-25 11:34:07 +02:00
de18ec5759
Enhanced FENString class, added unit test and Board#equals()
2019-10-24 19:54:59 +02:00
47db284b9b
Added FENString class
2019-10-24 06:09:16 +02:00
73f5e17405
Renamed FEN string fullmove counter to fullmove number
2019-10-22 21:25:06 +02:00
40a3a92686
Added PGNDatabaseTest and test file
2019-10-21 21:45:38 +02:00
1ed43dd180
Created io package, moved IO-related classes
2019-10-20 17:27:52 +02:00
0148fbe570
Replaced game configuration dialog by a JOptionPane
2019-10-20 11:51:56 +02:00
84158c2dac
Improved PGN parsing, added PGN file loading
2019-10-20 11:22:58 +02:00
02a4b3ee32
Implemented game loading from FEN file
2019-10-18 17:45:13 +02:00
c31bfca497
Added file chooser dialog, renamed GameConfigurationDialog to DialogUtil
2019-10-14 06:31:03 +02:00
90437e822b
Replaced LogPanel by a JList inside GamePane with a custom cell renderer
2019-10-13 21:34:22 +02:00
0d654571a1
Fixed texture scaling method in TextureUtil
2019-10-13 14:37:35 +02:00
f949a0132b
Added PGNDatabase and PGNGame classes with support for PGN parsing
2019-10-09 21:03:39 +02:00
63317eaa0b
Renamed SAN-like coordinate notation to LAN, added SAN support to Board
2019-10-09 21:02:22 +02:00
037888e79f
Added ChessException class
2019-10-04 18:18:00 +02:00
4bcb0a032d
Moved MoveNode into a separate file
2019-10-04 10:25:03 +02:00
b969ff9e2b
Fixed LogPanel to support new log data model
2019-09-23 17:37:42 +02:00
2c3ac42516
Fixed memory leak, improved copy constructors
2019-09-19 21:31:24 +02:00
47a120e651
Fixed Log with respect to variations
2019-09-18 15:00:31 +02:00
ea8d754a72
Added variations in Log, added LogTest
2019-09-13 18:13:34 +02:00
1d2cf364bd
Changed unit test package structure
...
- Changed unit test package structure to match src
- Refactored PositionTest
+ TestToString method in PositionTest
2019-09-10 21:15:31 +02:00
249c9f74a0
Refactoring
...
- Simplified FEN-string generation
- Made GameConfigurationDialog a utility class
2019-09-09 19:05:57 +02:00