#pragma once #include #include #include #include using std::vector; using std::string; using std::cout; using std::cin; // Generic type struct Response { int somewhere, correct; Response() {} Response(int _s, int _c) : somewhere(_s), correct(_c) {} bool operator==(Response second) { return somewhere == second.somewhere && correct == second.correct; } bool operator!=(Response second) { return !(operator==(second)); } }; // Game generating string get_input(string arg, vector args, string prompt_text, string default_arg); vector generate(int N, int M); // Formatting string format_response(Response response); string format_guess(vector guess); string format_guess_history(vector sequence, vector guess); string format_lost_sequence(vector sequence); // Validating Response validate(vector sequence, vector guess);