Commit Graph

71 Commits

Author SHA1 Message Date
Kai S. K. Engelbart 1ce8b8355a Fixed and fully implemented UCI 'info' command parsing
- Except for 'currline' which is a feature requested by the GUI and thus
optional
2019-08-01 21:34:01 +02:00
Kai S. K. Engelbart 36597ac6f1 Fixed parsing score and after score 2019-08-01 19:01:17 +02:00
Kai S. K. Engelbart e72297bebf 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
2019-07-31 17:47:49 +02:00
Kai S. K. Engelbart 545f946aa0 Simplified EngineUtil and MenuBar 2019-07-30 06:18:24 +02:00
Kai S. K. Engelbart 984bedfafe Implemented en passant 2019-07-28 13:51:10 +02:00
Kai S. K. Engelbart cac235a0db Fixed letter alignment below the board 2019-07-28 09:43:53 +02:00
Kai S. K. Engelbart 1f5242935f Added board coordinates 2019-07-27 09:34:40 +02:00
Kai S. K. Engelbart 51558797cc Added border around board, changed display order in OverlayComponent 2019-07-27 08:06:43 +02:00
Kai S. K. Engelbart ae38e67a90 Added naming support in Player and subclasses 2019-07-26 16:14:22 +02:00
Kai S. K. Engelbart 5abc51688b Added log resetting, disabled resizing in MainFrame 2019-07-25 21:38:49 +02:00
Kai S. K. Engelbart 8bcd89d975 Simplified game creation, added new configuration dialog 2019-07-25 07:21:07 +02:00
Kai S. K. Engelbart 4c0432ca30 Fixed engine menu reloading on engine addition 2019-07-24 19:07:22 +02:00
Kai S. K. Engelbart 36832733b6 Added en passant availability logging and FEN string export 2019-07-24 17:52:42 +02:00
Kai S. K. Engelbart 601104485c Fixed FEN string export when board is in start position 2019-07-24 15:58:23 +02:00
Kai S. K. Engelbart 2da185a8fb Added tools menu in MenuBar with FEN export menu item 2019-07-24 07:41:45 +02:00
Kai S. K. Engelbart 0ed80228fe Moved activeColor, fullmoveCounter and halfmoveClock to Log 2019-07-24 07:32:59 +02:00
Kai S. K. Engelbart e353aef867 Added engine info serialization and integration into MenuBar 2019-07-23 16:28:53 +02:00
delvh b25acff367 Working on external engine integration, added extra menu
+ EngineUtil for storing engine information
- Changed all UCIListener methods to default
2019-07-23 11:54:43 +02:00
delvh 184c96db8c Added checkmate and stalemate notification through dialog, changed icon 2019-07-23 11:02:34 +02:00
delvh 309495cfae Improved BoardOverlay, disabled color swap in natural-vs-natural game 2019-07-23 10:38:19 +02:00
delvh 91962c01e0 Added dynamic color swap button text 2019-07-23 09:59:22 +02:00
delvh b3710a878f Implemented color swapping
+ swapColor method in Board
+ Button for swapping colors in MainWindow
2019-07-23 09:31:20 +02:00
Kai S. K. Engelbart 68d1996bd6 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
2019-07-22 21:40:25 +02:00
Kai S. K. Engelbart efe7ab2b60 First working UCI implementation
+ bestmove, position and go command implementations
+ Move initialization from algebraic notation
+ FEN string generation
2019-07-22 14:51:24 +02:00
Kai S. K. Engelbart a68a87962c Implemented option setting, added UCIOption class 2019-07-22 08:59:13 +02:00
Kai S. K. Engelbart ab54f88a89 Fixed UCI option parsing 2019-07-22 07:29:58 +02:00
Kai S. K. Engelbart b5b7a749d6 Implemented UCI handshake with engine
+ UCI game start in MenuBar
+ UCI game creation method in Game
- Fixed double game instance bug after starting a new game
+ Name and author parsing in UCIReceiver
2019-07-21 14:35:14 +02:00
Kai S. K. Engelbart 709383e758 Fixed UCI combo GUI type to support multiple predefined values 2019-07-20 06:48:42 +02:00
Kai S. K. Engelbart 347eb5d531 Added UCIListener, started working on an implementation 2019-07-20 06:36:56 +02:00
Kai S. K. Engelbart 062a5c3075 Added UCIReceiver and UCIListner, implemented a part of the UCI protocol 2019-07-19 22:16:02 +02:00
Kai S. K. Engelbart 29e17d90a5 Working on UCI support
+ UCIHandle class for communicating with an engine through UCI
+ UCIPlayer class for using an engine within the gui
2019-07-19 08:34:31 +02:00
Kai S. K. Engelbart d8f5f3bbf4 Fixed input listening bug in NaturalPlayer
+ disconnect methods in Game and Player
+ NaturalPlayer removes its MouseListener from OverlayComponent after
the disconnect method is called
2019-07-18 15:01:15 +02:00
Kai S. K. Engelbart 4dcc9f7ca0 Set white king as MainWindow icon 2019-07-18 11:19:58 +02:00
Kai S. K. Engelbart cfd71af142 Moved game and board creation to Game 2019-07-17 08:26:51 +02:00
Kai S. K. Engelbart fcd8bfb26b Fixed game state related bugs 2019-07-16 18:24:48 +02:00
Kai S. K. Engelbart cde7f63996 Fixed UI bugs, added move drawing to OverlayComponent 2019-07-16 15:32:02 +02:00
Kai S. K. Engelbart 8ea0c7a603 Added alpha-beta pruning threshold to the AI and a configuration dialog 2019-07-16 14:42:10 +02:00
Kai S. K. Engelbart 8eda941284 Moved tests in test source folder, replaced GameModeDialog by MenuBar 2019-07-16 11:58:51 +02:00
Kai S. K. Engelbart 7a986ab9c4 Added resource folder to class path, implemented proper texture scaling 2019-07-15 18:16:45 +02:00
Kai S. K. Engelbart c245cdb640 Implemented game restarting
+ Restarting method in Game
+ Abstract cancelMove method in Player
+ Stopping calculations in AIPlayer when the game has been restarted
2019-07-14 12:03:45 +02:00
Kai S. K. Engelbart 58340ca6ac Added castling, fixed some minor bugs 2019-07-13 11:38:44 +02:00
Kai S. K. Engelbart 199d2f06c6 Made application terminate when GameModeDialog is closed 2019-07-12 13:33:34 +02:00
Kai S. K. Engelbart d12b06a1ff Fixed knight move validation, renamed test 2019-07-12 10:07:02 +02:00
Kai S. K. Engelbart 6d98d9a963 Added positional board evaluation 2019-07-11 19:57:54 +02:00
Kai S. K. Engelbart c3a787c3a7 Added move history and pawn promotion
+ Log class for move history
+ LoggedMove class with piece captured by the logged move
- Made move reversion easier
+ MoveType for recognizing special moves
+ MoveType determination during move generation and validation
2019-07-10 18:54:53 +02:00
Kai S. K. Engelbart 9cf121699f Separated board and overlay rendering
+ BoardPane class for managing rendering layers
+ OverlayComponent for drawing overlays
- Renamed BoardPanel to BoardComponent
- Simplified calls in the rendering process
2019-07-09 09:20:30 +02:00
Kai S. K. Engelbart 3dfc16943f Added multithreading to AIPlayer for better performance
+ MoveProcessor and ProcessingResult classes for handling multithreaded
move calculation
+ Separate package for AIPlayer and its components
2019-07-08 16:44:21 +02:00
Kai S. K. Engelbart 3f7a97e953 Fixed some typos 2019-07-08 09:08:10 +02:00
Kai S. K. Engelbart 9cfd06230c Fixed rendering
+ Cloning support in Board and Piece
- Using clones for board operations that interfere with rendering
- Fixed repaint calls
+ Unit test for testing board cloning
2019-07-08 06:41:10 +02:00
Kai S. K. Engelbart 55e9cfb620 Fixed checkmate detection, simplified event handling 2019-07-07 21:07:58 +02:00