diff options
author | fschildt <florian.schildt@protonmail.com> | 2025-07-21 16:07:28 +0200 |
---|---|---|
committer | fschildt <florian.schildt@protonmail.com> | 2025-07-21 16:07:28 +0200 |
commit | b46a0d9369fbaa1938f0968ab216bc2d564a9c37 (patch) | |
tree | c28b75187d01be9642af56a54a6101f51b25e4a7 /src/games/Game.hpp |
Diffstat (limited to 'src/games/Game.hpp')
-rw-r--r-- | src/games/Game.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/games/Game.hpp b/src/games/Game.hpp new file mode 100644 index 0000000..9af98b4 --- /dev/null +++ b/src/games/Game.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include <basic/defs.hpp> +#include <SDL3/SDL.h> +#include <memory> +#include <vector> +#include <renderer/RenderGroup.hpp> + +struct SDL_Window; + +class Game { +public: + enum GameType { + NO_GAME, + TETRIS, + SNAKE, + MINESWEEPER + }; + + Game() = default; + virtual ~Game(); + static std::unique_ptr<Game> Select(GameType type); + + virtual bool Update(std::vector<SDL_Event> &events, RenderGroup &render_group) = 0; +}; + |