Commit Graph

32 Commits

Author SHA1 Message Date
Kai S. K. Engelbart 4dfd218440
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
2020-08-15 23:25:41 +02:00
Kai S. K. Engelbart 6824b46539
Using reflection in FENString, fixed input field in MainWindow 2020-08-15 23:25:39 +02:00
Kai S. K. Engelbart ae9abded19
Changed class Javadoc to use @author and @since tags 2020-08-15 23:25:30 +02:00
Kai S. K. Engelbart de015a64fb
Moved loadFile method to MainWindow, removed redundancies 2020-08-15 23:25:30 +02:00
Kai S. K. Engelbart 86b696ef4c
Implemented game loading from FEN file 2020-08-15 23:25:23 +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 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 cd01647247
Added event package with EventBus class 2020-08-15 23:25:01 +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 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 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 3581904abc
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
2020-08-15 23:24:43 +02:00
Kai S. K. Engelbart f89c95850a
Set white king as MainWindow icon 2020-08-15 23:24:39 +02:00
Kai S. K. Engelbart f6a578531f
Moved game and board creation to Game 2020-08-15 23:24:38 +02:00
Kai S. K. Engelbart a2d479bba0
Fixed game state related bugs 2020-08-15 23:24:38 +02:00
Kai S. K. Engelbart d20fcc10e0
Moved tests in test source folder, replaced GameModeDialog by MenuBar 2020-08-15 23:24:35 +02:00
Kai S. K. Engelbart a3b5531f09
Implemented game restarting
+ Restarting method in Game
+ Abstract cancelMove method in Player
+ Stopping calculations in AIPlayer when the game has been restarted
2020-08-15 23:24:34 +02:00
Kai S. K. Engelbart fe8ae1826e
Added castling, fixed some minor bugs 2020-08-15 23:24:33 +02:00
Kai S. K. Engelbart 1b7e3b1986
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
2020-08-15 23:24:30 +02:00
Kai S. K. Engelbart 4c1d7b77a5
Added player management and related UI components
+ Game Mode selection dialog
+ Game class for turn management
+ Abstract Player class with NaturalPlayer implementation
- Moved mouse input handling from BoardPanel to NaturalPlayer
2020-08-15 23:24:26 +02:00
Kai S. K. Engelbart e8e040669c
Improved package structure
- Renamed the piece package into board
- Moved Board, Move and Position into the board package
2020-08-15 23:24:25 +02:00
Kai S. K. Engelbart 6d63c5c358
Created a separate UI package
- Renamed Chess to MainWindow
- Moved MainWindow, BoardPanel and TextureUtil into the UI package
2020-08-15 23:24:24 +02:00