aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-02-25 11:13:35 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-02-25 11:13:35 +0100
commit64dec753e7a6594a8b68f7978773e80353d8e869 (patch)
treece8b862fde15c51b8b981f1d628f0d43cc2bfdc7 /src/game_tab
parent6f866f55ee39c5f92c600ab33e787f628b00c1a4 (diff)
Enable PGN save (slow for now so do not use it).
Diffstat (limited to 'src/game_tab')
-rw-r--r--src/game_tab/Game.cpp5
-rw-r--r--src/game_tab/Game.hpp2
-rw-r--r--src/game_tab/HalfMove.cpp14
3 files changed, 13 insertions, 8 deletions
diff --git a/src/game_tab/Game.cpp b/src/game_tab/Game.cpp
index b9181a9..2b2955a 100644
--- a/src/game_tab/Game.cpp
+++ b/src/game_tab/Game.cpp
@@ -139,5 +139,8 @@ std::string Game::GetPGN() {
}
pgn += moves->GetPGN();
}
+ pgn += " " + result;
return (pgn);
-} \ No newline at end of file
+}
+
+void Game::SetResult(std::string result) { this->result = result; }
diff --git a/src/game_tab/Game.hpp b/src/game_tab/Game.hpp
index 7cad269..348bff9 100644
--- a/src/game_tab/Game.hpp
+++ b/src/game_tab/Game.hpp
@@ -8,6 +8,7 @@
class Game {
std::string board;
std::string initial_fen;
+ std::string result;
std::unordered_map<std::string, std::string> tags;
HalfMove *moves;
HalfMove *current;
@@ -35,4 +36,5 @@ public:
void SetCurrent(HalfMove *m);
std::vector<std::string> ListTags();
std::string GetPGN();
+ void SetResult(std::string result);
}; \ No newline at end of file
diff --git a/src/game_tab/HalfMove.cpp b/src/game_tab/HalfMove.cpp
index 94d9a8c..2b84382 100644
--- a/src/game_tab/HalfMove.cpp
+++ b/src/game_tab/HalfMove.cpp
@@ -115,16 +115,16 @@ void HalfMove::SetAsMainline() {
HalfMove *HalfMove::GetMainline() { return (mainline); }
-HalfMove::HalfMove(pgnp::HalfMove *m, std::string initial_fen): capture(' ') {
+HalfMove::HalfMove(pgnp::HalfMove *m, std::string initial_fen) : capture(' ') {
chessarbiter::ChessArbiter arbiter;
arbiter.Setup(initial_fen);
- bool work=arbiter.Play(arbiter.ParseSAN(m->move));
- if(!work){
- wxLogDebug("Bug! %s",m->move);
+ bool work = arbiter.Play(arbiter.ParseSAN(m->move));
+ if (!work) {
+ wxLogDebug("Bug! %s", m->move);
}
- char capture=arbiter.GetCapture();
- if(capture != ' '){
- this->capture=capture;
+ char capture = arbiter.GetCapture();
+ if (capture != ' ') {
+ this->capture = capture;
}
this->fen = arbiter.GetFEN();
this->move = m->move;