From 5b61f0e5d9adb18f1da9ee9f31c4520849028045 Mon Sep 17 00:00:00 2001 From: rasmus Date: Wed, 19 Mar 2025 11:21:04 +0100 Subject: [PATCH 1/2] Follow c++ naming convention --- include/FileHelper.h | 6 +++--- include/FileReader.h | 8 +++++--- include/NumberHelper.h | 7 ++++--- include/PrintFrames.h | 8 ++++---- include/ScoreCalculator.h | 6 +++--- src/FileHelper.cpp | 5 +---- src/FileReader.cpp | 11 ++++------- src/NumberHelper.cpp | 16 +++++++--------- src/PrintFrames.cpp | 7 ++----- src/ScoreCalculator.cpp | 5 +---- src/main.cpp | 12 ++++++------ 11 files changed, 40 insertions(+), 51 deletions(-) diff --git a/include/FileHelper.h b/include/FileHelper.h index 5bfd97d..f522a62 100644 --- a/include/FileHelper.h +++ b/include/FileHelper.h @@ -3,11 +3,11 @@ class FileHelper { public: - FileHelper(); + FileHelper() = default; - ~FileHelper(); + ~FileHelper() = default; - static bool FileExists(char *path); + static bool fileExists(char *path); }; #endif \ No newline at end of file diff --git a/include/FileReader.h b/include/FileReader.h index 7b23bd2..fc4d632 100644 --- a/include/FileReader.h +++ b/include/FileReader.h @@ -4,13 +4,15 @@ #include #include +using namespace std; + class FileReader { public: - FileReader(); + FileReader() = default; - ~FileReader(); + ~FileReader() = default; - static std::string GetFile(char *path); + static string getFile(char *path); }; #endif \ No newline at end of file diff --git a/include/NumberHelper.h b/include/NumberHelper.h index 9c4da23..a1da688 100644 --- a/include/NumberHelper.h +++ b/include/NumberHelper.h @@ -8,11 +8,12 @@ using namespace std; class NumberHelper { public: - NumberHelper(); + NumberHelper() = default; - ~NumberHelper(); + ~NumberHelper() = default; - static vector GetNumbers(string csv); + static vector getRolls(string csv); }; + #endif \ No newline at end of file diff --git a/include/PrintFrames.h b/include/PrintFrames.h index 7ec0063..d4b508d 100644 --- a/include/PrintFrames.h +++ b/include/PrintFrames.h @@ -7,12 +7,12 @@ using namespace std; class PrintFrames { public: - PrintFrames(); + PrintFrames() = default; - ~PrintFrames(); + ~PrintFrames() = default; - static void PrintHeader(vector rolls); - static void PrintValue(vector rolls); + static void printHeader(vector rolls); + static void printValue(vector rolls); }; #endif \ No newline at end of file diff --git a/include/ScoreCalculator.h b/include/ScoreCalculator.h index a49dc10..d38289e 100644 --- a/include/ScoreCalculator.h +++ b/include/ScoreCalculator.h @@ -8,11 +8,11 @@ using namespace std; class ScoreCalculator { public: - ScoreCalculator(); + ScoreCalculator() = default; - ~ScoreCalculator(); + ~ScoreCalculator() = default; - static int GetScore(vector rolls); + static int getScore(vector rolls); }; #endif \ No newline at end of file diff --git a/src/FileHelper.cpp b/src/FileHelper.cpp index 19b11eb..21b6494 100644 --- a/src/FileHelper.cpp +++ b/src/FileHelper.cpp @@ -1,10 +1,7 @@ #include "../include/FileHelper.h" #include -FileHelper::FileHelper() {}; -FileHelper::~FileHelper() {}; - -bool FileHelper::FileExists(char *path){ +bool FileHelper::fileExists(char *path){ struct stat s; // Check if file exists, and if it isn't a folder. diff --git a/src/FileReader.cpp b/src/FileReader.cpp index d5b1bed..cadd684 100644 --- a/src/FileReader.cpp +++ b/src/FileReader.cpp @@ -2,15 +2,12 @@ #include #include -FileReader::FileReader() {}; -FileReader::~FileReader() {}; - -std::string FileReader::GetFile(char *path){ - std::ifstream file(path); +string FileReader::getFile(char *path){ + ifstream file(path); - std::string line; + string line; - std::getline(file, line); + getline(file, line); file.close(); diff --git a/src/NumberHelper.cpp b/src/NumberHelper.cpp index d1ca49e..bc45262 100644 --- a/src/NumberHelper.cpp +++ b/src/NumberHelper.cpp @@ -3,16 +3,14 @@ #include #include -NumberHelper::NumberHelper() {}; -NumberHelper::~NumberHelper() {}; - -std::vector NumberHelper::GetNumbers(std::string csv){ - std::vector rolls; - std::stringstream ss(csv); - std::string number; +vector NumberHelper::getRolls(string csv){ + vector rolls; + stringstream ss(csv); + string number; - while (std::getline(ss, number, ',')) { - rolls.push_back(std::stoi(number)); + // Get number from the CSV file, split by comma, and convert to int. + while (getline(ss, number, ',')) { + rolls.push_back(stoi(number)); } return rolls; diff --git a/src/PrintFrames.cpp b/src/PrintFrames.cpp index 7c7f7d1..6afdd39 100644 --- a/src/PrintFrames.cpp +++ b/src/PrintFrames.cpp @@ -1,10 +1,7 @@ #include "../include/PrintFrames.h" #include -PrintFrames::PrintFrames() {}; -PrintFrames::~PrintFrames() {}; - -void PrintFrames::PrintHeader(vector rolls){ +void PrintFrames::printHeader(vector rolls){ int frame = 0; int i = 1; @@ -50,7 +47,7 @@ void PrintFrames::PrintHeader(vector rolls){ } } -void PrintFrames::PrintValue(vector rolls){ +void PrintFrames::printValue(vector rolls){ int frame = 0; while (true) { diff --git a/src/ScoreCalculator.cpp b/src/ScoreCalculator.cpp index 629477f..79b92c3 100644 --- a/src/ScoreCalculator.cpp +++ b/src/ScoreCalculator.cpp @@ -1,9 +1,6 @@ #include "../include/ScoreCalculator.h" -ScoreCalculator::ScoreCalculator() {}; -ScoreCalculator::~ScoreCalculator() {}; - -int ScoreCalculator::GetScore(vector rolls) { +int ScoreCalculator::getScore(vector rolls) { int score = 0; int frame = 0; diff --git a/src/main.cpp b/src/main.cpp index f69ca1f..91b7114 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,18 +14,18 @@ int main(int argc, char *argv[]) { return 0; } - if (!FileHelper::FileExists(argv[1])) { + if (!FileHelper::fileExists(argv[1])) { cerr << "Filepath: " << argv[1] << " doesn't exist."; return 0; } - string file = FileReader::GetFile(argv[1]); - vector rolls = NumberHelper::GetNumbers(file); + string file = FileReader::getFile(argv[1]); + vector rolls = NumberHelper::getRolls(file); - PrintFrames::PrintHeader(rolls); - PrintFrames::PrintValue(rolls); + PrintFrames::printHeader(rolls); + PrintFrames::printValue(rolls); - int score = ScoreCalculator::GetScore(rolls); + int score = ScoreCalculator::getScore(rolls); cout << "Score: " << score << endl; return 0; From 3fd7328f66a791179e9d80a43c6751da627eab1d Mon Sep 17 00:00:00 2001 From: rasmus Date: Wed, 19 Mar 2025 11:46:19 +0100 Subject: [PATCH 2/2] Add comments --- src/PrintFrames.cpp | 7 +++++-- src/ScoreCalculator.cpp | 14 ++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/PrintFrames.cpp b/src/PrintFrames.cpp index 6afdd39..58edc9b 100644 --- a/src/PrintFrames.cpp +++ b/src/PrintFrames.cpp @@ -10,7 +10,7 @@ void PrintFrames::printHeader(vector 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 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 rolls){ ++i; + // No more frames if (frame == rolls.size()) { cout << "|" << endl; break; @@ -55,7 +57,7 @@ void PrintFrames::printValue(vector 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 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; diff --git a/src/ScoreCalculator.cpp b/src/ScoreCalculator.cpp index 79b92c3..5b5e147 100644 --- a/src/ScoreCalculator.cpp +++ b/src/ScoreCalculator.cpp @@ -7,7 +7,7 @@ int ScoreCalculator::getScore(vector 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 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 rolls) { score += 10 + rolls[frame + 2]; frame += 2; - continue; } // Open Frame - score += rolls[frame] + rolls[frame + 1]; - frame += 2; + else { + score += rolls[frame] + rolls[frame + 1]; + frame += 2; + } + // No more frames if (frame == rolls.size()) { break; }