diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-01-01 19:13:34 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-01-01 19:13:34 +0100 |
| commit | dcf6c01e54c5306fac464706cff81e75ee8f05bf (patch) | |
| tree | 63ccd035166ced2fee956e0c077512d2d6429ca6 /src/game_tab | |
| parent | bbf3282839eb9efe57b1451763ef0859198c33af (diff) | |
Update Game tab
Diffstat (limited to 'src/game_tab')
| -rw-r--r-- | src/game_tab/HalfMove.cpp | 15 | ||||
| -rw-r--r-- | src/game_tab/HalfMove.hpp | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/game_tab/HalfMove.cpp b/src/game_tab/HalfMove.cpp index 7f19480..01621e2 100644 --- a/src/game_tab/HalfMove.cpp +++ b/src/game_tab/HalfMove.cpp @@ -177,6 +177,21 @@ void HalfMove::Promote() { } } +bool HalfMove::HasParent(HalfMove*m){ + return m==parent; +} + +bool HalfMove::HasChild(HalfMove*m){ + if(mainline==m){ + return true; + } + for(auto var: variations){ + if(var == m) + return true; + } + return false; +} + bool HalfMove::IsVariation() { HalfMove *m = this; HalfMove *p = HalfMove::parent; diff --git a/src/game_tab/HalfMove.hpp b/src/game_tab/HalfMove.hpp index 3d5177e..08a190b 100644 --- a/src/game_tab/HalfMove.hpp +++ b/src/game_tab/HalfMove.hpp @@ -46,6 +46,8 @@ public: /// @brief Check if current half move is within a variation bool IsVariation(); /// @brief Get the root of a variation + bool HasParent(HalfMove*m); + bool HasChild(HalfMove*m); HalfMove *GetRoot(); /// @brief Get parent of the current move HalfMove *GetParent(); |
