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..58edc9b 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; @@ -13,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; @@ -25,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; @@ -43,6 +41,7 @@ void PrintFrames::PrintHeader(vector rolls){ ++i; + // No more frames if (frame == rolls.size()) { cout << "|" << endl; break; @@ -50,7 +49,7 @@ void PrintFrames::PrintHeader(vector rolls){ } } -void PrintFrames::PrintValue(vector rolls){ +void PrintFrames::printValue(vector rolls){ int frame = 0; while (true) { @@ -58,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; @@ -85,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 629477f..5b5e147 100644 --- a/src/ScoreCalculator.cpp +++ b/src/ScoreCalculator.cpp @@ -1,16 +1,13 @@ #include "../include/ScoreCalculator.h" -ScoreCalculator::ScoreCalculator() {}; -ScoreCalculator::~ScoreCalculator() {}; - -int ScoreCalculator::GetScore(vector rolls) { +int ScoreCalculator::getScore(vector rolls) { int score = 0; int frame = 0; 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; @@ -18,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]; @@ -31,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; } 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;