| @@ -62,6 +62,16 @@ void initialize_database(sqlite3* database) { |
| 62 | printMessage("Database Initialized"); | 62 | printMessage("Database Initialized"); |
| 63 | } | 63 | } |
| 64 | | 64 | |
| | 65 | +void runGame(sqlite3* database, std::string gameName) { |
| | 66 | + std::string pathToRun = ""; |
| | 67 | + for (const auto& [name, path] : games) { |
| | 68 | + if (name == gameName) { |
| | 69 | + pathToRun = path; |
| | 70 | + } |
| | 71 | + } |
| | 72 | + system(pathToRun.c_str()); |
| | 73 | +} |
| | 74 | + |
| 65 | void handleCommand(int argc, char const *argv[], sqlite3* database) { | 75 | void handleCommand(int argc, char const *argv[], sqlite3* database) { |
| 66 | std::string command{}; | 76 | std::string command{}; |
| 67 | switch (argc) { | 77 | switch (argc) { |
| @@ -79,6 +89,10 @@ void handleCommand(int argc, char const *argv[], sqlite3* database) { |
| 79 | std::string gameName{ argv[2] }; | 89 | std::string gameName{ argv[2] }; |
| 80 | removeGame(database, gameName); | 90 | removeGame(database, gameName); |
| 81 | } | 91 | } |
| | 92 | + else if(command == "play") { |
| | 93 | + std::string gameName{ argv[2] }; |
| | 94 | + runGame(database, gameName); |
| | 95 | + } |
| 82 | case 4: | 96 | case 4: |
| 83 | command = argv[1]; | 97 | command = argv[1]; |
| 84 | if (command == "add") { | 98 | if (command == "add") { |
| @@ -177,16 +191,16 @@ int main(int argc, char const *argv[]) { |
| 177 | | 191 | |
| 178 | if (choice != exit_id) { | 192 | if (choice != exit_id) { |
| 179 | int i{ 0 }; | 193 | int i{ 0 }; |
| 180 | - std::string pathToRun = ""; | 194 | + std::string gameToRun = ""; |
| 181 | for (const auto& [name, path] : games) { | 195 | for (const auto& [name, path] : games) { |
| 182 | | 196 | |
| 183 | if (i == choice) { | 197 | if (i == choice) { |
| 184 | - pathToRun = path; | 198 | + gameToRun = name; |
| 185 | | 199 | |
| 186 | } | 200 | } |
| 187 | i++; | 201 | i++; |
| 188 | } | 202 | } |
| 189 | - system(pathToRun.c_str()); | 203 | + runGame(database, gameToRun); |
| 190 | } | 204 | } |
| 191 | } while (choice != exit_id); | 205 | } while (choice != exit_id); |
| 192 | sqlite3_close(database); | 206 | sqlite3_close(database); |