diff options
Diffstat (limited to 'src/game_tab/HalfMove.cpp')
| -rw-r--r-- | src/game_tab/HalfMove.cpp | 14 |
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()); |
