diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-01-02 12:02:11 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-01-02 12:02:11 +0100 |
| commit | e40f98ccda04da3bb9811b354b770fb8c6b563e5 (patch) | |
| tree | 3b0258e0cb3eca9f979d79d71da938fa7efb4bc8 /src/game_tab/Game.cpp | |
| parent | d05093513ec5124feed0dc6140789f48218b45c9 (diff) | |
| parent | 042f6ca17012414d13235d3e04ea9012ff49f79c (diff) | |
Improve game tab
Diffstat (limited to 'src/game_tab/Game.cpp')
| -rw-r--r-- | src/game_tab/Game.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/game_tab/Game.cpp b/src/game_tab/Game.cpp index fdc754a..53be08f 100644 --- a/src/game_tab/Game.cpp +++ b/src/game_tab/Game.cpp @@ -92,6 +92,14 @@ void Game::SetMoveAsMainline(HalfMove *m) { } } +bool Game::IsCheckmate(bool forBlack){ + arbiter.Setup(GetFen()); + if(forBlack){ + return arbiter.IsBlackTurn() && arbiter.IsCheckMate(); + } + return !arbiter.IsBlackTurn() && arbiter.IsCheckMate(); +} + bool Game::Play(std::string move) { wxLogDebug("Playing move %s", move); std::string fen = GetFen(); @@ -142,6 +150,12 @@ void Game::Next() { } } +HalfMove *Game::GetNextMove(){ + if(current!=nullptr) + return current->GetMainline(); + return moves; +} + void Game::SetCurrent(HalfMove *m) { current = m; } std::string Game::GetFen() { |
