Commit Graph

148 Commits

Author SHA1 Message Date
Kai S. K. Engelbart c16395fe1f
Renamed SAN-like coordinate notation to LAN, added SAN support to Board 2020-08-15 23:25:20 +02:00
Kai S. K. Engelbart dfa3874dcf
Added ChessException class 2020-08-15 23:25:19 +02:00
Kai S. K. Engelbart 9c6faae6ba
Moved MoveNode into a separate file 2020-08-15 23:25:18 +02:00
Kai S. K. Engelbart ff3f064a7f
Fixed LogPanel to support new log data model 2020-08-15 23:25:17 +02:00
Kai S. K. Engelbart 69261303c5
Fixed memory leak, improved copy constructors 2020-08-15 23:25:17 +02:00
Kai S. K. Engelbart 06ab01f585
Fixed Log with respect to variations 2020-08-15 23:25:16 +02:00
Kai S. K. Engelbart 1723c44524
Added variations in Log, added LogTest 2020-08-15 23:25:15 +02:00
Kai S. K. Engelbart 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
Kai S. K. Engelbart bd523018f7
Refactoring
- Simplified FEN-string generation
- Made GameConfigurationDialog a utility class
2020-08-15 23:25:14 +02:00
Kai S. K. Engelbart 18e708d285
Added LogPanel to GamePane 2020-08-15 23:25:13 +02:00
Kai S. K. Engelbart 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
Kai S. K. Engelbart 00eea6d863
Fixed frozen game after adding a new one 2020-08-15 23:25:12 +02:00
Kai S. K. Engelbart 15fc153dac
Opening the new tab after starting a game 2020-08-15 23:25:11 +02:00
Kai S. K. Engelbart 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
Kai S. K. Engelbart 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
Kai S. K. Engelbart 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
Kai S. K. Engelbart 20e9c8b36e
Fixed documentation 2020-08-15 23:25:08 +02:00
Kai S. K. Engelbart 79f55597c9
Added drag and drop support for FEN files 2020-08-15 23:25:08 +02:00
Kai S. K. Engelbart c24613ba59
Improved documentation in Board 2020-08-15 23:25:07 +02:00
Kai S. K. Engelbart b72a8916a0
Fixed Game and Log synchronization on FEN loading 2020-08-15 23:25:06 +02:00
Kai S. K. Engelbart ae6c618b40
Implemented loadFromFen method in Board 2020-08-15 23:25:06 +02:00
Kai S. K. Engelbart db407122a3
Cleaned up and improved Log
+ Current log state properties
- Removed Log delegates from Board
2020-08-15 23:25:05 +02:00
Kai S. K. Engelbart 50111729ad
Changed event model
+ MoveEvent
2020-08-15 23:25:04 +02:00
Kai S. K. Engelbart 9d7d84302e
Working on board loading from FEN-encoded string 2020-08-15 23:25:03 +02:00
Kai S. K. Engelbart 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
Kai S. K. Engelbart e6d4d37848
Implemented LogFrame, added menu item for opening it 2020-08-15 23:25:02 +02:00
Kai S. K. Engelbart cd01647247
Added event package with EventBus class 2020-08-15 23:25:01 +02:00
Kai S. K. Engelbart 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
Kai S. K. Engelbart 3a76ddc617
Fixed parsing score and after score 2020-08-15 23:25:00 +02:00
Kai S. K. Engelbart 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
Kai S. K. Engelbart d173fb7851
Simplified EngineUtil and MenuBar 2020-08-15 23:24:59 +02:00
Kai S. K. Engelbart 8077aaafdb
Implemented en passant 2020-08-15 23:24:58 +02:00
Kai S. K. Engelbart ffcb1efc11
Fixed letter alignment below the board 2020-08-15 23:24:57 +02:00
Kai S. K. Engelbart a101632c7b
Added board coordinates 2020-08-15 23:24:57 +02:00
Kai S. K. Engelbart a13cf8d050
Added border around board, changed display order in OverlayComponent 2020-08-15 23:24:56 +02:00
Kai S. K. Engelbart 6d85a01fc2
Added naming support in Player and subclasses 2020-08-15 23:24:55 +02:00
Kai S. K. Engelbart 20ccb2aeef
Added log resetting, disabled resizing in MainFrame 2020-08-15 23:24:55 +02:00
Kai S. K. Engelbart c0479b88b6
Simplified game creation, added new configuration dialog 2020-08-15 23:24:54 +02:00
Kai S. K. Engelbart b99c0f67f0
Fixed engine menu reloading on engine addition 2020-08-15 23:24:53 +02:00
Kai S. K. Engelbart 3be4c042bb
Added en passant availability logging and FEN string export 2020-08-15 23:24:53 +02:00
Kai S. K. Engelbart 686b76ed8a
Fixed FEN string export when board is in start position 2020-08-15 23:24:52 +02:00
Kai S. K. Engelbart dec0dc08ad
Added tools menu in MenuBar with FEN export menu item 2020-08-15 23:24:51 +02:00
Kai S. K. Engelbart dc67b624ce
Moved activeColor, fullmoveCounter and halfmoveClock to Log 2020-08-15 23:24:50 +02:00
Kai S. K. Engelbart 5aa48edb93
Added engine info serialization and integration into MenuBar 2020-08-15 23:24:50 +02:00
Kai S. K. Engelbart 0a1ab4bab6
Working on external engine integration, added extra menu
+ EngineUtil for storing engine information
- Changed all UCIListener methods to default
2020-08-15 23:24:49 +02:00
Kai S. K. Engelbart e814100589
Added checkmate and stalemate notification through dialog, changed icon 2020-08-15 23:24:48 +02:00
Kai S. K. Engelbart 4e008954ad
Improved BoardOverlay, disabled color swap in natural-vs-natural game 2020-08-15 23:24:48 +02:00
Kai S. K. Engelbart 0e75aae421
Added dynamic color swap button text 2020-08-15 23:24:47 +02:00
Kai S. K. Engelbart 2b00116837
Implemented color swapping
+ swapColor method in Board
+ Button for swapping colors in MainWindow
2020-08-15 23:24:46 +02:00
Kai S. K. Engelbart a6fcaee70e
Fixed castling, added castling export to FEN
+ isFreePath implementation in Piece
- Removed isFreePath from Bishop, Rook, Queen and King
+ canCastleKingside and canCastleQueenside methods in King
+ Castling rights record in Board + FEN export

+ equals method in Position
+ UCI 'position startpos' command
- Switched to Java 8 compliance for compatibility reasons
2020-08-15 23:24:46 +02:00