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