#include "ax_game.hpp" ax_game::ax_game() { ax_Window = nullptr; ax_Renderer = nullptr; ax_TickCounter = 0; ax_IsRunning = true; ax_ball_one = ball(); } ax_game::~ax_game() { ax_ball_one.~ball(); } bool ax_game::Init(){ int sdlResult = SDL_Init(SDL_INIT_VIDEO); if(sdlResult != 0){ SDL_Log("Fehler bei SDL_INIT: %s", SDL_GetError()); return false; } ax_Window = SDL_CreateWindow("Ersted Fenster", 100,100,1024,768,0); ax_Renderer = SDL_CreateRenderer(ax_Window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if(!ax_Renderer){ SDL_Log("Fehler bei SDL_CreateRenderer: %s", SDL_GetError()); return false; } return true; } void ax_game::RunLoop(){ while(ax_IsRunning){ Input(); Update(); Output(); } } void ax_game::Shutdown(){ SDL_DestroyRenderer(ax_Renderer); SDL_DestroyWindow(ax_Window); SDL_Quit(); } void ax_game::Input(){ SDL_Event event; while(SDL_PollEvent(&event)){ switch (event.type) { case SDL_QUIT: ax_IsRunning = false; break; } } } void ax_game::Update(){ while(!SDL_TICKS_PASSED(SDL_GetTicks(), ax_TickCounter + 16)); float DeltaTime = (SDL_GetTicks() - ax_TickCounter) / 1000.0f; if (DeltaTime > 0.05f) { DeltaTime = 0.05f; } ax_TickCounter = SDL_GetTicks(); // Update Ball } void ax_game::Output(){ SDL_SetRenderDrawColor(ax_Renderer,0,0,255,255); SDL_RenderClear(ax_Renderer); ax_ball_one.Draw(ax_Renderer); SDL_RenderPresent(ax_Renderer); }