Commit Graph

123 Commits

Author SHA1 Message Date
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
8d23315481 Added LogPanel to GamePane 2019-09-09 06:14:37 +02:00
37cf7dcab2 Refactoring and documentation, improved FEN integration
+ Adding a new game when loading a FEN string
+ Loading multiple FEN files with drag and drop
2019-09-08 21:37:47 +02:00
897353efeb Fixed frozen game after adding a new one 2019-09-06 13:24:58 +02:00
875cd22521 Opening the new tab after starting a game 2019-09-01 18:57:31 +02:00
c712e066fe 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
2019-09-01 12:45:06 +02:00
513c0077e0 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.
2019-08-24 16:04:09 +02:00
961100f74c Added game tab support
+ GamePane component with the game displaying functionality from
MainWindow
- Simplified MainWindow, added JTabbedPane with GamePane elements
- Adjusted FENDropTarget and MenuBar
2019-08-23 22:00:30 +02:00
7271f7b3a3 Fixed documentation 2019-08-23 21:10:19 +02:00
37c12f5fdb Added drag and drop support for FEN files 2019-08-14 20:17:28 +02:00
b682485e40 Improved documentation in Board 2019-08-13 06:16:10 +02:00
dcef49c4eb Fixed Game and Log synchronization on FEN loading 2019-08-13 05:59:47 +02:00
17f110e7f7 Implemented loadFromFen method in Board 2019-08-13 05:43:26 +02:00
3fe6ea5540 Cleaned up and improved Log
+ Current log state properties
- Removed Log delegates from Board
2019-08-12 06:44:55 +02:00
0062e18ab9 Changed event model
+ MoveEvent
2019-08-07 18:54:00 +02:00
f266eaa4cd Working on board loading from FEN-encoded string 2019-08-05 21:02:54 +02:00
1923dbf27a Implemented LogFrame updating
+ Export to SAN in move
+ Updating LogFrame after a move
- Turned EventBus into a singleton
2019-08-04 14:40:25 +02:00