feat: defined game class

main
Sara 2024-11-15 13:30:41 +01:00
parent dbbed72fc9
commit fe9242c9c0
3 changed files with 28 additions and 31 deletions

12
src/game.cpp Normal file
View File

@ -0,0 +1,12 @@
#include "game.hpp"
void Game::process_event(SDL_Event const &evt) {
}
void Game::tick(double delta_time) {
}
void Game::draw(SDL_Renderer *render) {
SDL_SetRenderDrawColor(this->render, 0, 0, 0, 255);
SDL_RenderClear(render);
}

13
src/game.hpp Normal file
View File

@ -0,0 +1,13 @@
#ifndef GAME_HPP
#define GAME_HPP
#include "core/application.hpp"
class Game : public Application {
public:
virtual void process_event(SDL_Event const &evt) override;
virtual void tick(double delta_time) override;
virtual void draw(SDL_Renderer *render) override;
};
#endif // !GAME_HPP

View File

@ -1,34 +1,6 @@
#include <SDL2/SDL.h>
#include <SDL2/SDL_quit.h>
#include <SDL2/SDL_video.h>
#include <SDL2/SDL_events.h>
#include <assert.h>
#include "game.hpp"
int main(int argc, char* argv[]) {
// initialize SDL2
assert(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_EVENTS) == 0 && "SDL Initialization failed");
// open window and create renderer from window
SDL_Window *window{SDL_CreateWindow("new_window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1000, 1000, SDL_WINDOW_BORDERLESS)};
assert(window != NULL && "SDL window failed to open");
SDL_Renderer *render{SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED)};
assert(render != NULL && "SDL Renderer failed to open");
// start working
SDL_Event event{};
bool keep_open{true};
while(keep_open) {
SDL_PollEvent(&event);
switch(event.type) {
case SDL_QUIT:
keep_open = false;
break;
default:
break;
}
SDL_RenderClear(render);
SDL_RenderPresent(render);
}
SDL_DestroyRenderer(render);
SDL_DestroyWindow(window);
SDL_Quit();
Game game{};
game.run();
}