#pragma once #include #include #include #include struct SDL_Window; class Game { public: enum GameType { no_game, tetris, snake, minesweeper, breakout }; static std::unique_ptr Select(GameType type); Game() = default; virtual ~Game() = default; virtual bool Update(std::vector& events) = 0; };