rendered paste body#include "headers/Game.h"int main ( int argc, char** argv ){ Game * game; if(SDL_Init(SDL_INIT_VIDEO) == -1){ return 1; } screen = SDL_SetVideoMode(800,600,32,SDL_SWSURFACE); if(screen == NULL){ return 1;} if(TTF_Init() == -1){ return false; } SDL_WM_SetCaption("The Tale", NULL); game->InitResources(); game->StartGame();}//////////////////////////////////////////////////SDL_Surface *screen;class Game{ public: void InitResources(); void TitleMenu(); void GameLoop(); void EndGame(); void CleanUp(); void GameState(int option); void StartGame(); SDL_Surface *message; SDL_Surface *background; SDL_Surface *testText; SDL_Rect clip[1]; virtual void HandleInput() = 0; void GameUpdate(); TTF_Font *font; bool GameRunning; bool GameTitle;};void Game::InitResources(){ message = load_Image("spritetest.png"); font = loadfont("basic.ttf",12); testText = Displaytext(font,"test",255,255,255); clip[0].x = 0; clip[0].y = 0; clip[0].w = 30; clip[0].h = 45;}void Game::StartGame(){ GameState(GAMETITLE);}void Game::GameState(int option){ switch (option){ case 1 : TitleMenu(); break; case 2 : GameLoop(); break; case 3 : EndGame(); break; }}void Game::TitleMenu(){ while(GameTitle == true){ apply_surface(0,0,testText,screen); apply_surface(20,20,message,screen, &clip[0]); GameUpdate(); } GameState(GAMESTART);}void Game::GameLoop(){ while(GameRunning == true){ GameUpdate(); } GameState(GAMEEND);}void Game::EndGame(){ CleanUp();}void Game::GameUpdate(){ SDL_Flip(screen); IncFrameV(); FrameSync(); // HandleInput(); fps.Start();}void Game::CleanUp(){ SDL_FreeSurface(message); SDL_FreeSurface(background); SDL_Quit();}////////////////////////////////////////#include "Declarations.h"#include "Game.h"class Input: public Game{ public: SDL_Event event;};void Input::HandleInput(){ if(SDL_PollEvent(&event)){ if(event.type == SDL_KEYDOWN){ switch (event.key.keysym.sym){ case SDLK_ESCAPE: GameState(GAMEEND);break; } } }}#endif // INPUT_H_INCLUDED