#pragma once #include #include #include #include #include struct SDL_Window; class Game { public: enum GameType { NO_GAME, TETRIS, SNAKE, MINESWEEPER }; Game() = default; virtual ~Game(); static std::unique_ptr Select(GameType type); virtual bool Update(std::vector &events, RenderGroup &render_group) = 0; };