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
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