aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/HalfMove.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab/HalfMove.cpp')
-rw-r--r--src/game_tab/HalfMove.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/game_tab/HalfMove.cpp b/src/game_tab/HalfMove.cpp
index e7850ff..c5527c6 100644
--- a/src/game_tab/HalfMove.cpp
+++ b/src/game_tab/HalfMove.cpp
@@ -163,6 +163,20 @@ bool HalfMove::IsVariation() {
std::string HalfMove::GetFen() { return (fen); }
+HalfMove* HalfMove::GetCurrentMoveWithFEN(const std::string fen){
+ if(this->fen == fen){
+ return this;
+ }
+ else {
+ for(auto var: GetVariations()){
+ HalfMove* m=static_cast<HalfMove*>(var);
+ if(m->fen == fen)
+ return m;
+ }
+ }
+ return nullptr;
+}
+
void HalfMove::BuildAndVerify(HalfMove *m, std::string fen) {
arbiter.Setup(fen);
std::string move_absolute=arbiter.ParseSAN(m->GetSAN());