18 enum class State : std::uint8_t {
25 std::unique_ptr<common::IAgent<std::vector<double>,
int>> agent;
28 SDL_Renderer* renderer;
29 SDL_Texture* canvas_texture;
31 std::optional<std::unique_ptr<math::IEquation>> current_equation = std::nullopt;
32 std::vector<std::unique_ptr<math::IEquation>> solved_equations;
33 bool mouse_down =
false;
34 float last_mouse_x = 0;
35 float last_mouse_y = 0;
36 std::optional<int> current_guess = std::nullopt;
38 State state = State::WinTransition;
39 double wait_delay = 0.0;
43 void process_drawing();
46 explicit Game(SDL_Renderer* renderer,
47 std::unique_ptr<common::IDigitAgent> agent,