#include "jgame.h" #include "jdraw.h" #include "jinput.h" #include namespace game { static unsigned int ticks_per_frame = 1000/60; void setUpdateTicks(const int ticks) { ticks_per_frame = ticks; } } int main(int argc, char *argv[]) { game::init(); input::init(draw::getZoom()); static unsigned int current_ticks = SDL_GetTicks(); bool should_exit=false; SDL_Event e; while (!should_exit) { while(SDL_PollEvent(&e)) { if (e.type==SDL_QUIT) { should_exit = true; break; } if (e.type==SDL_KEYDOWN) { input::updateKey(e.key.keysym.scancode); } if (e.type==SDL_KEYUP) { input::updateKeypressed(e.key.keysym.scancode); } if (e.type==SDL_MOUSEBUTTONUP) { input::updateClk(e.button.button); } } if (SDL_GetTicks()-current_ticks >= game::ticks_per_frame) { if (!game::loop()) should_exit = true; input::updateKey(SDL_SCANCODE_UNKNOWN); input::updateKeypressed(SDL_SCANCODE_UNKNOWN); input::updateClk(0); current_ticks = SDL_GetTicks(); } } return 0; }