From 76284c3951146654c55abc9814113acb67507d6e Mon Sep 17 00:00:00 2001 From: rasmus Date: Thu, 27 Mar 2025 13:54:02 +0100 Subject: [PATCH] Add 0 roll handling aswell --- rolls4.txt | 2 +- rolls5.txt | 1 + src/PrintFrames.cpp | 62 ++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 rolls5.txt diff --git a/rolls4.txt b/rolls4.txt index 2c19309..cd432e6 100644 --- a/rolls4.txt +++ b/rolls4.txt @@ -1 +1 @@ -0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 5, 5 +5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 5, 5 diff --git a/rolls5.txt b/rolls5.txt new file mode 100644 index 0000000..9a56ce2 --- /dev/null +++ b/rolls5.txt @@ -0,0 +1 @@ +5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 10, 10 diff --git a/src/PrintFrames.cpp b/src/PrintFrames.cpp index 6ba206a..fc4d3de 100644 --- a/src/PrintFrames.cpp +++ b/src/PrintFrames.cpp @@ -32,6 +32,20 @@ string PrintFrames::parseValue(vector frames) { ss << "X, " << frames[i].Roll[2] << " "; } + else if (frames[i].Roll[1] == 10 && frames[i].Roll[2] == 0) { + ss << frames[i].Roll[1] << ", - "; + } + else if (frames[i].Roll[1] == 0 && frames[i].Roll[2] == 10) { + ss << "-, " << frames[i].Roll[2] << " "; + } + + else if (frames[i].Roll[1] != 10 && frames[i].Roll[2] == 0) { + ss << frames[i].Roll[1] << ", - "; + } + else if (frames[i].Roll[1] == 0 && frames[i].Roll[2] != 10) { + ss << "-, " << frames[i].Roll[2] << " "; + } + continue; } @@ -44,8 +58,17 @@ string PrintFrames::parseValue(vector frames) { ss << frames[i + 1].Roll[1] << ", X"; } else { if (frames[i + 1].Roll[0] + frames[i + 1].Roll[1] == 10) { - ss << "X, " << frames[i + 1].Roll[0] << " ,/"; - } else { + ss << "X, " << frames[i + 1].Roll[0] << ", /"; + } + + else if (frames[i + 1].Roll[0] == 0 && frames[i + 1].Roll[1] != 0) { + ss << "X, " << "-, " << frames[i + 1].Roll[1]; + } + else if (frames[i + 1].Roll[0] != 0 && frames[i + 1].Roll[1] == 0) { + ss << "X, " << frames[i + 1].Roll[0] << ", -"; + } + + else { ss << "X, "; } } @@ -62,7 +85,25 @@ string PrintFrames::parseValue(vector frames) { // Spare if (frames[i].Roll[0] + frames[i].Roll[1] == 10) { if (frames[i].Roll.size() == 3) { - ss << frames[i].Roll[0] << ", / "; + if (frames[i].Roll[0] == 0 && frames[i].Roll[1] != 10 && frames[i].Roll[2] != 10) { + if (frames[i].Roll[2] == 0) { + ss << "-, /, -"; + } else { + ss << "-, " << frames[i].Roll[1] << frames[i].Roll[2]; + } + } + else if (frames[i].Roll[0] == 0 && frames[i].Roll[1] == 10 && frames[i].Roll[2] != 10) { + if (frames[i].Roll[2] == 0) { + ss << "-, /, -"; + } else { + ss << "-, /, " << frames[i].Roll[2]; + } + } + else if (frames[i].Roll[0] == 0 && frames[i].Roll[1] == 10 && frames[i].Roll[2] == 10) { + ss << "-, /, X"; + } else { + ss << frames[i].Roll[0] << ", / "; + } continue; } @@ -74,7 +115,20 @@ string PrintFrames::parseValue(vector frames) { if (i == 9) { ss << frames[i].Roll[0] << ", " << frames[i].Roll[1] << " "; } else { - ss << frames[i].Roll[0] << ", " << frames[i].Roll[1]; + if (frames[i].Roll[0] == 0 && frames[i].Roll[1] == 0) { + ss << "-, -"; + } + else if (frames[i].Roll[0] == 0 && frames[i].Roll[1] != 0) { + ss << "-, " << frames[i].Roll[1]; + } + + else if (frames[i].Roll[0] != 0 && frames[i].Roll[1] == 0) { + ss << frames[i].Roll[0] << ", -"; + } + + else { + ss << frames[i].Roll[0] << ", " << frames[i].Roll[1]; + } } }