Commit Graph

116 Commits

Author SHA1 Message Date
f7d1758b28 Implemented 'position moves' command in UCI protocol 2020-08-15 23:25:32 +02:00
05299e3a05 Implemented 'currline' command in UCI protocol 2020-08-15 23:25:31 +02:00
ae9abded19 Changed class Javadoc to use @author and @since tags 2020-08-15 23:25:30 +02:00
de015a64fb Moved loadFile method to MainWindow, removed redundancies 2020-08-15 23:25:30 +02:00
966c959786 Removed old FEN string methods, fixed FEN regex 2020-08-15 23:25:29 +02:00
3821ce313d 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
2020-08-15 23:25:28 +02:00
7138905501 Enhanced FENString class, added unit test and Board#equals() 2020-08-15 23:25:28 +02:00
3603153254 Added FENString class 2020-08-15 23:25:27 +02:00
41b75d415d Renamed FEN string fullmove counter to fullmove number 2020-08-15 23:25:26 +02:00
141ca7ba26 Created io package, moved IO-related classes 2020-08-15 23:25:26 +02:00
e4daec64b1 Added PGNDatabaseTest and test file 2020-08-15 23:25:25 +02:00
258db80f36 Replaced game configuration dialog by a JOptionPane 2020-08-15 23:25:24 +02:00
cbf110c28d Improved PGN parsing, added PGN file loading 2020-08-15 23:25:24 +02:00
86b696ef4c Implemented game loading from FEN file 2020-08-15 23:25:23 +02:00
a0b4405976 Added file chooser dialog, renamed GameConfigurationDialog to DialogUtil 2020-08-15 23:25:22 +02:00
a76e3cc904 Replaced LogPanel by a JList inside GamePane with a custom cell renderer 2020-08-15 23:25:22 +02:00
3bb4fd211c Fixed texture scaling method in TextureUtil 2020-08-15 23:25:21 +02:00
4e1682ac16 Added PGNDatabase and PGNGame classes with support for PGN parsing 2020-08-15 23:25:20 +02:00
c16395fe1f Renamed SAN-like coordinate notation to LAN, added SAN support to Board 2020-08-15 23:25:20 +02:00
dfa3874dcf Added ChessException class 2020-08-15 23:25:19 +02:00
9c6faae6ba Moved MoveNode into a separate file 2020-08-15 23:25:18 +02:00
ff3f064a7f Fixed LogPanel to support new log data model 2020-08-15 23:25:17 +02:00
69261303c5 Fixed memory leak, improved copy constructors 2020-08-15 23:25:17 +02:00
06ab01f585 Fixed Log with respect to variations 2020-08-15 23:25:16 +02:00
1723c44524 Added variations in Log, added LogTest 2020-08-15 23:25:15 +02:00
7258e96b1a Changed unit test package structure
- Changed unit test package structure to match src
- Refactored PositionTest
+ TestToString method in PositionTest
2020-08-15 23:25:15 +02:00
bd523018f7 Refactoring
- Simplified FEN-string generation
- Made GameConfigurationDialog a utility class
2020-08-15 23:25:14 +02:00
18e708d285 Added LogPanel to GamePane 2020-08-15 23:25:13 +02:00
3f2e7183dd Refactoring and documentation, improved FEN integration
+ Adding a new game when loading a FEN string
+ Loading multiple FEN files with drag and drop
2020-08-15 23:25:13 +02:00
00eea6d863 Fixed frozen game after adding a new one 2020-08-15 23:25:12 +02:00
15fc153dac Opening the new tab after starting a game 2020-08-15 23:25:11 +02:00
5ecbeb7677 Added creation of new game tabs
- Switched to GridBagLayout in GamePane
- New games created in MenuBar are appended to the tabbed pane in
MainWindow
+ LogPanel class for displaying the game log inside a GamePane
- Removed LogFrame in favor of LogPanel
2020-08-15 23:25:10 +02:00
73509f2dd1 Associated DropTarget with MainWindow
When a FEN file is dropped into the main window, the drop target
automatically loads it into the currently visible (=selected) game.
2020-08-15 23:25:10 +02:00
b3c2253c45 Added game tab support
+ GamePane component with the game displaying functionality from
MainWindow
- Simplified MainWindow, added JTabbedPane with GamePane elements
- Adjusted FENDropTarget and MenuBar
2020-08-15 23:25:09 +02:00
20e9c8b36e Fixed documentation 2020-08-15 23:25:08 +02:00
79f55597c9 Added drag and drop support for FEN files 2020-08-15 23:25:08 +02:00
c24613ba59 Improved documentation in Board 2020-08-15 23:25:07 +02:00
b72a8916a0 Fixed Game and Log synchronization on FEN loading 2020-08-15 23:25:06 +02:00
ae6c618b40 Implemented loadFromFen method in Board 2020-08-15 23:25:06 +02:00
db407122a3 Cleaned up and improved Log
+ Current log state properties
- Removed Log delegates from Board
2020-08-15 23:25:05 +02:00
50111729ad Changed event model
+ MoveEvent
2020-08-15 23:25:04 +02:00
9d7d84302e Working on board loading from FEN-encoded string 2020-08-15 23:25:03 +02:00
b6cfb5674c Implemented LogFrame updating
+ Export to SAN in move
+ Updating LogFrame after a move
- Turned EventBus into a singleton
2020-08-15 23:25:03 +02:00
e6d4d37848 Implemented LogFrame, added menu item for opening it 2020-08-15 23:25:02 +02:00
cd01647247 Added event package with EventBus class 2020-08-15 23:25:01 +02:00
84314d931e Fixed and fully implemented UCI 'info' command parsing
- Except for 'currline' which is a feature requested by the GUI and thus
optional
2020-08-15 23:25:01 +02:00
3a76ddc617 Fixed parsing score and after score 2020-08-15 23:25:00 +02:00
e37450c144 UCI refactoring
+ Multiple listener support in UCIHandle
+ UCIInfo class
- Moved info and option parsing into the respective classes
- Removed unimplemented UCI callback methods from UCIPlayer
2020-08-15 23:24:59 +02:00
d173fb7851 Simplified EngineUtil and MenuBar 2020-08-15 23:24:59 +02:00
8077aaafdb Implemented en passant 2020-08-15 23:24:58 +02:00