-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTest.cpp
More file actions
77 lines (61 loc) · 1.79 KB
/
Copy pathTest.cpp
File metadata and controls
77 lines (61 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "Texture.h"
#include "Game.h"
#include "SDLWindow.h"
int main( int argc, char* args[] )
{
SDLWindow oSDLWindow;
if (!oSDLWindow.initSDL())
{
oSDLWindow.closeSDL();
return 0;
}
SDL_Renderer* oRenderer = oSDLWindow.GetRenderer();
GameMenu *oGameMenu = new GameMenu;
oGameMenu->SetRenderer(oRenderer);
Game *oGame = new Game(oGameMenu->GetPlayersCount());
bool bQuit = false;
SDL_Event eSDLevent;
while( !bQuit )
{
while( SDL_PollEvent( &eSDLevent ) != 0 )
{
if( eSDLevent.type == SDL_QUIT ) bQuit = true;
if (oGame->GetGameOver()) oGameMenu->PollEvent(eSDLevent);
}
if (oGameMenu->ClickedNewGame())
{
oGame = NULL;
oGame = new Game(oGameMenu->GetPlayersCount());
oGame->SetRenderer(oRenderer);
oGame->SpawnWorms();
oGame->SetGameMenu(oGameMenu);
oGame->SetGameOver(false);
}
if (oGameMenu->ClickedExit()) bQuit = true;
//Clear screen
SDL_SetRenderDrawColor( oRenderer, 0xAF, 0xFF, 0xAF, 0xFF );
SDL_RenderClear( oRenderer );
if (oGame->GetGameOver())
{
/*if (oGameMenu->ClickedOptions())
oGameMenu->ShowOptionsMenu();
else*/
oGameMenu->ShowMainMenu();
}
else
{
oGame->SpawnGameObjects();
oGame->MoveCritters();
oGame->MoveWorms();
oGame->ApplyForces();
oGame->PreCollision();
oGame->FeedWorms();
oGame->AttackWorms();
oGame->RenderWorms();
oGame->RenderGameObjects();
}
SDL_RenderPresent( oRenderer );
}
oSDLWindow.closeSDL();
return 0;
}