Add comments

This commit is contained in:
Rasmus Rasmussen 2025-03-19 11:46:19 +01:00
parent 5b61f0e5d9
commit 3fd7328f66
2 changed files with 13 additions and 8 deletions

View File

@ -10,7 +10,7 @@ void PrintFrames::printHeader(vector<int> rolls){
// Strike // Strike
if (rolls[frame] == 10) { if (rolls[frame] == 10) {
// If we're on our last frame, and roll a 10. // If we're on our last frame, and roll a strike, we're given two bonus rolls.
if (frame + 3 == rolls.size() && rolls[frame - 3] == 10) { if (frame + 3 == rolls.size() && rolls[frame - 3] == 10) {
cout << " f" << i << " |" << endl; cout << " f" << i << " |" << endl;
break; break;
@ -22,6 +22,7 @@ void PrintFrames::printHeader(vector<int> rolls){
// Spare // Spare
else if (rolls[frame] + rolls[frame + 1] == 10) { else if (rolls[frame] + rolls[frame + 1] == 10) {
// If we're on our last frame, and roll a spare, we're given a bonus roll.
if (frame + 3 == rolls.size() && rolls[frame] + rolls[frame + 1] == 10) if (frame + 3 == rolls.size() && rolls[frame] + rolls[frame + 1] == 10)
{ {
cout << " f" << i << " |" << endl; cout << " f" << i << " |" << endl;
@ -40,6 +41,7 @@ void PrintFrames::printHeader(vector<int> rolls){
++i; ++i;
// No more frames
if (frame == rolls.size()) { if (frame == rolls.size()) {
cout << "|" << endl; cout << "|" << endl;
break; break;
@ -55,7 +57,7 @@ void PrintFrames::printValue(vector<int> rolls){
// Strike // Strike
if (rolls[frame] == 10) { if (rolls[frame] == 10) {
// If we're on our last frame, and roll a 10. // If we're on our last frame, and roll a strike, we're given two bonus rolls.
if (frame + 3 == rolls.size() && rolls[frame - 3] == 10) { if (frame + 3 == rolls.size() && rolls[frame - 3] == 10) {
if (rolls[frame + 1] == 10 && rolls[frame + 2] == 10) { if (rolls[frame + 1] == 10 && rolls[frame + 2] == 10) {
cout << "X, X, X|" << endl; cout << "X, X, X|" << endl;
@ -82,6 +84,7 @@ void PrintFrames::printValue(vector<int> rolls){
// Spare // Spare
else if (rolls[frame] + rolls[frame + 1] == 10) { else if (rolls[frame] + rolls[frame + 1] == 10) {
// If we're on our last frame, and roll a spare, we're given a bonus roll.
if (frame + 3 == rolls.size() && rolls[frame] + rolls[frame + 1] == 10) if (frame + 3 == rolls.size() && rolls[frame] + rolls[frame + 1] == 10)
{ {
cout << rolls[frame] << ", /" << ", " << rolls[frame + 1] << "|" << endl; cout << rolls[frame] << ", /" << ", " << rolls[frame + 1] << "|" << endl;

View File

@ -7,7 +7,7 @@ int ScoreCalculator::getScore(vector<int> rolls) {
while (true) { while (true) {
// Strike // Strike
if (rolls[frame] == 10) { if (rolls[frame] == 10) {
// If we're on our last frame, and roll a 10. // If we're on our last frame, and roll a strike, we're given two bonus rolls.
if (frame + 3 == rolls.size() && rolls[frame - 3] == 10) { if (frame + 3 == rolls.size() && rolls[frame - 3] == 10) {
score += 10 + rolls[frame + 1] + rolls[frame + 2]; score += 10 + rolls[frame + 1] + rolls[frame + 2];
break; break;
@ -15,11 +15,11 @@ int ScoreCalculator::getScore(vector<int> rolls) {
score += 10 + rolls[frame + 1] + rolls[frame + 2]; score += 10 + rolls[frame + 1] + rolls[frame + 2];
frame += 1; frame += 1;
continue;
} }
// Spare // Spare
if (rolls[frame] + rolls[frame + 1] == 10) { else if (rolls[frame] + rolls[frame + 1] == 10) {
// If we're on our last frame, and roll a spare, we're given a bonus roll.
if (frame + 3 == rolls.size() && rolls[frame] + rolls[frame + 1] == 10) if (frame + 3 == rolls.size() && rolls[frame] + rolls[frame + 1] == 10)
{ {
score += 10 + rolls[frame + 1]; score += 10 + rolls[frame + 1];
@ -28,13 +28,15 @@ int ScoreCalculator::getScore(vector<int> rolls) {
score += 10 + rolls[frame + 2]; score += 10 + rolls[frame + 2];
frame += 2; frame += 2;
continue;
} }
// Open Frame // Open Frame
score += rolls[frame] + rolls[frame + 1]; else {
frame += 2; score += rolls[frame] + rolls[frame + 1];
frame += 2;
}
// No more frames
if (frame == rolls.size()) { if (frame == rolls.size()) {
break; break;
} }