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