9 running game with command fluffy game name #10
Merged@github-juk3n wants to merge
9-running-game-with-command-fluffy-game_name into mainMerged as
c0929ebbbb33.1 file changed
modified
src/main.cpp +17 -3 | @@ -62,6 +62,16 @@ void initialize_database(sqlite3* database) { | ||
| 62 | 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 | 75 | void handleCommand(int argc, char const *argv[], sqlite3* database) { |
| 66 | 76 | std::string command{}; |
| 67 | 77 | switch (argc) { |
| @@ -79,6 +89,10 @@ void handleCommand(int argc, char const *argv[], sqlite3* database) { | ||
| 79 | 89 | std::string gameName{ argv[2] }; |
| 80 | 90 | removeGame(database, gameName); |
| 81 | 91 | } |
| 92 | + else if(command == "play") { | |
| 93 | + std::string gameName{ argv[2] }; | |
| 94 | + runGame(database, gameName); | |
| 95 | + } | |
| 82 | 96 | case 4: |
| 83 | 97 | command = argv[1]; |
| 84 | 98 | if (command == "add") { |
| @@ -177,16 +191,16 @@ int main(int argc, char const *argv[]) { | ||
| 177 | 191 | |
| 178 | 192 | if (choice != exit_id) { |
| 179 | 193 | int i{ 0 }; |
| 180 | - std::string pathToRun = ""; | |
| 194 | + std::string gameToRun = ""; | |
| 181 | 195 | for (const auto& [name, path] : games) { |
| 182 | 196 | |
| 183 | 197 | if (i == choice) { |
| 184 | - pathToRun = path; | |
| 198 | + gameToRun = name; | |
| 185 | 199 | |
| 186 | 200 | } |
| 187 | 201 | i++; |
| 188 | 202 | } |
| 189 | - system(pathToRun.c_str()); | |
| 203 | + runGame(database, gameToRun); | |
| 190 | 204 | } |
| 191 | 205 | } while (choice != exit_id); |
| 192 | 206 | sqlite3_close(database); |
| @@ -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); |