5 #include "SDLVideoOut.h"
11 SDLVideoOut
*Game::video
= 0;
18 Game::video
= new SDLVideoOut( 800, 600, 32 );
26 void Game::Initialize()
29 Game::map
.load( "map.txt" );
30 Game::player
.Teleport( 2,1 );
32 Game::map
.Initialize();
36 void Game::DeInitialize()
45 while( SDL_PollEvent( &event
) )
47 HandleInput( &event
);
48 Game::player
.HandleInput( &event
);
51 if( Game::player
.isAlive() )
54 Game::player
.Update();
57 if( Game::player
.getLives() == 0 )
58 game_is_running
= false;
63 void Game::HandleInput( SDL_Event
*event
)
67 // exit if the window is closed
69 game_is_running
= false;
72 // check for keypresses
75 // exit if ESCAPE is pressed
76 if (event
->key
.keysym
.sym
== SDLK_ESCAPE
)
77 game_is_running
= false;
85 std::stringstream status
;
90 Game::video
->Clear( Game::video
->MapRGB( 255, 255, 255 ) );
94 if(Game::player
.isAlive())
97 Game::video
->DrawString( "You are dead! Press [Enter] to continue!", 0, 0, 255, 0, 0 );
99 status
<< "Leben: " << Game::player
.getLives() << " Pos: " << (int)Game::player
.getMapX() << "/" << (int)Game::player
.getMapY();
101 Game::video
->DrawString( status
.str().c_str(), 0, 20, 0, 0, 0 );
114 game_is_running
= true;
115 clock_t nextUpdate
= clock();
117 while( game_is_running
)
121 while( clock() > nextUpdate
&& loops
< MAX_FRAMESKIP
)
125 nextUpdate
+= SKIP_FRAMES
;
138 SDLVideoOut
*Game::getVideo()
148 Player
*Game::getPlayer()
150 return &Game::player
;