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
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) {
cout << " f" << i << " |" << endl;
break;
@ -22,6 +22,7 @@ void PrintFrames::printHeader(vector<int> rolls){
// Spare
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)
{
cout << " f" << i << " |" << endl;
@ -40,6 +41,7 @@ void PrintFrames::printHeader(vector<int> rolls){
++i;
// No more frames
if (frame == rolls.size()) {
cout << "|" << endl;
break;
@ -55,7 +57,7 @@ void PrintFrames::printValue(vector<int> rolls){
// Strike
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 (rolls[frame + 1] == 10 && rolls[frame + 2] == 10) {
cout << "X, X, X|" << endl;
@ -82,6 +84,7 @@ void PrintFrames::printValue(vector<int> rolls){
// Spare
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)
{
cout << rolls[frame] << ", /" << ", " << rolls[frame + 1] << "|" << endl;

View File

@ -7,7 +7,7 @@ int ScoreCalculator::getScore(vector<int> rolls) {
while (true) {
// Strike
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) {
score += 10 + rolls[frame + 1] + rolls[frame + 2];
break;
@ -15,11 +15,11 @@ int ScoreCalculator::getScore(vector<int> rolls) {
score += 10 + rolls[frame + 1] + rolls[frame + 2];
frame += 1;
continue;
}
// 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)
{
score += 10 + rolls[frame + 1];
@ -28,13 +28,15 @@ int ScoreCalculator::getScore(vector<int> rolls) {
score += 10 + rolls[frame + 2];
frame += 2;
continue;
}
// Open Frame
else {
score += rolls[frame] + rolls[frame + 1];
frame += 2;
}
// No more frames
if (frame == rolls.size()) {
break;
}