diff --git a/Bomberman.hpp.gch b/Bomberman.hpp.gch index 7ecfd6f..8d0d4ed 100644 Binary files a/Bomberman.hpp.gch and b/Bomberman.hpp.gch differ diff --git a/Game.cpp b/Game.cpp index 3cac6ba..3a3f89e 100644 --- a/Game.cpp +++ b/Game.cpp @@ -7,32 +7,52 @@ Game::Game(){ std::string(SDL_GetError())); } - window = SDL_CreateWindow("Bomberman", \ + _window = SDL_CreateWindow("Bomberman", \ SDL_WINDOWPOS_CENTERED, \ SDL_WINDOWPOS_CENTERED, \ 800, 600, \ SDL_WINDOW_SHOWN); - if (window == nullptr) { + if (_window == nullptr) { throw std::runtime_error("Window could not be created! SDL_Error: " + \ std::string(SDL_GetError())); } - renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); - if (renderer == nullptr) { - SDL_DestroyWindow(window); + _renderer = SDL_CreateRenderer(_window, -1, SDL_RENDERER_ACCELERATED); + if (_renderer == nullptr) { + SDL_DestroyWindow(_window); throw std::runtime_error("Renderer could not be created! SDL_Error: " + \ std::string(SDL_GetError())); } - isRunning = true; + _isRunning = true; } Game::~Game() { - if (renderer) { - SDL_DestroyRenderer(renderer); + if (_renderer) { + SDL_DestroyRenderer(_renderer); } - if (window) { - SDL_DestroyWindow(window); + if (_window) { + SDL_DestroyWindow(_window); } SDL_Quit(); } + +void Game::Run() { + while (_isRunning) { + //Handle events + while (SDL_PollEvent(&_event)) { + if (_event.type == SDL_QUIT) { + _isRunning = false; + } + } + + //Clear the screen + SDL_SetRenderDrawColor(_renderer, 0, 0, 0, 255); + SDL_RenderClear(_renderer); + + //Render game objects here + + //Update the screen + SDL_RenderPresent(_renderer); + } +} diff --git a/Game.hpp b/Game.hpp index a969623..284edf0 100644 --- a/Game.hpp +++ b/Game.hpp @@ -4,12 +4,13 @@ class Game { private: - SDL_Window* window = nullptr; - SDL_Renderer* renderer = nullptr; - bool isRunning = false; + SDL_Window* _window = nullptr; + SDL_Renderer* _renderer = nullptr; + SDL_Event _event; + bool _isRunning = false; public: Game(); - void Run(); + void Run(); ~Game(); }; diff --git a/Game.hpp.gch b/Game.hpp.gch index 57bb125..ac9e8e4 100644 Binary files a/Game.hpp.gch and b/Game.hpp.gch differ diff --git a/main.cpp b/main.cpp index 83e1560..1b49de5 100644 --- a/main.cpp +++ b/main.cpp @@ -5,6 +5,7 @@ int main (void){ try{ Game game; + game.Run(); } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; return 1;