summaryrefslogtreecommitdiff
path: root/Games/Chess/ChessWidget.h
AgeCommit message (Collapse)Author
2020-12-17Chess: Prevent board changes when waiting for ChessEngine to moveBrendan Coles
2020-12-10Chess: Added ability to put markings on the boardAnicJov
With this patch you can use right-click to mark a square on the board. You can add modifier keys to the click to change to alternate color (with CTRL) or secondary color (with Shift). If you right-click and drag from one square to another you will create an arrow. The markings go away as soon as you left-click on the board or the board state changes. Note: The arrows sometimes look weird, and horizontal ones get cut off. They also don't account for alpha. This is not a bug in Chess code, rather, likely in the fill_path() function that's used to draw the arrows. If anyone might know what's up with that I urge you to take a look. :)
2020-12-10Chess: Added abilty to import PGN filesAnicJov
This patch allows the user to load games using PGN files. The parsing is not complete and has a bunch of work left to be done, but it's okay for our use case here. It can load all of the games our PGN exporter can save. As the Chess program impoves so can the PGN parser.
2020-12-10Chess: Add ability to replay movesAnicJov
This patch allows the user to go back and forward in move history to replay moves from the game. This is view-only however, and as soon as a move is made the board returns to it's current state. This will work well for replaying games loaded in with PGN files, once that's implemented.
2020-12-10Chess: Added ability to copy board state as FENAnicJov
You can now copy the board state as Forsyth-Edwards Notation. You can then paste this into other chess programs/games, or into ours when it gets implemented.
2020-12-06Chess: Add ability to export game as PGN fileAnicJov
This patch adds an option to the menubar for exporting the current game as a PGN file. This file can then be read by other chess programs (and ours eventually) to replay the game or analyze it. The implementation is mostly PGN spec compliant, however the code could use some more work. Particularly the `const_cast`s... But it's a start. :^) Fixup: Chess: Fixed hard-coded home path in unveil() call Fixup: Chess: Removed castling flags from Move struct The castling detection logic is done inside Move::to_algebraic() now, removing the need for is_castle_short and is_castle_long flags inside of the Move struct.
2020-12-06Chess: Added ability to resign and flip the boardAnicJov
This patch adds options to the app's menubar to resign the game and flip the board.
2020-08-23Chess: Allow resizing Chess using resize_aspect_ratio(1,1)Peter Elliott
2020-08-23Chess: Optionaly display coordinates at edge of boardPeter Elliott
2020-08-21Chess: Add support for UCI enginesPeter Elliott
2020-08-21Chess: Refactor game logic into LibChess for use in enginesPeter Elliott
In the future UCI protocol stuff will also go into LibChess.
2020-08-15Chess: Add pawn promotion to any piecePeter Elliott
2020-08-15Chess: Add En-passantPeter Elliott
2020-08-15Chess: Add menu options for setting board theme and piece setPeter Elliott
2020-08-15Chess: Highlight last movePeter Elliott
2020-08-15Chess: Add win/draw conditions, and display them.Peter Elliott
2020-08-15Chess: Add basic ChessWidget and ugly piece setPeter Elliott