aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-01-01 19:13:34 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-01-01 19:13:34 +0100
commitdcf6c01e54c5306fac464706cff81e75ee8f05bf (patch)
tree63ccd035166ced2fee956e0c077512d2d6429ca6
parentbbf3282839eb9efe57b1451763ef0859198c33af (diff)
Update Game tab
-rw-r--r--src/game_tab/HalfMove.cpp15
-rw-r--r--src/game_tab/HalfMove.hpp2
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();