X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=judge%2Fmanager%2Fgame.cpp;h=f50ce270610755a87fb779dcee7736e9bc2a1ffa;hp=0e768c5fe60333b099c4b072738f6315c29db91f;hb=36bffb1754deb18b223a3206daa2478568675909;hpb=5f9adddd695f2664a0d690b59a779e40b51ade3d diff --git a/judge/manager/game.cpp b/judge/manager/game.cpp index 0e768c5..f50ce27 100644 --- a/judge/manager/game.cpp +++ b/judge/manager/game.cpp @@ -1,5 +1,7 @@ #include "game.h" #include +#include + using namespace std; @@ -22,7 +24,13 @@ Game::Game(const char * redPath, const char * bluePath, const bool enableGraphic #ifdef BUILD_GRAPHICS if (graphicsEnabled && (!Graphics::Initialised())) - Graphics::Initialise("Stratego", theBoard.Width()*32, theBoard.Height()*32); + { + string s = "Stratego: "; + s += string(redPath); + s += " "; + s += string(bluePath); + Graphics::Initialise(s.c_str(), theBoard.Width()*GRID_SIZE, theBoard.Height()*GRID_SIZE); + } #endif //BUILD_GRAPHICS @@ -60,7 +68,11 @@ Game::Game(const char * fromFile, const bool enableGraphics, double newStallTime #ifdef BUILD_GRAPHICS if (graphicsEnabled && (!Graphics::Initialised())) - Graphics::Initialise("Stratego", theBoard.Width()*32, theBoard.Height()*32); + { + string s = "Stratego: (file) "; + s += string(fromFile); + Graphics::Initialise(s.c_str(), theBoard.Width()*GRID_SIZE, theBoard.Height()*GRID_SIZE); + } #endif //BUILD_GRAPHICS input = fopen(fromFile, "r"); @@ -208,21 +220,23 @@ void Game::Wait(double wait) if (wait <= 0) return; - TimerThread timer(wait*1000000); //Wait in seconds - timer.Start(); + + #ifdef BUILD_GRAPHICS + + if (!graphicsEnabled) { - while (!timer.Finished()); - timer.Stop(); + usleep(1000000*wait); //Wait in seconds return; } - #endif //BUILD_GRAPHICS + TimerThread timer(wait*1000000); //Wait in seconds + timer.Start(); while (!timer.Finished()) { - #ifdef BUILD_GRAPHICS + SDL_Event event; while (SDL_PollEvent(&event)) { @@ -234,9 +248,12 @@ void Game::Wait(double wait) break; } } - #endif //BUILD_GRAPHICS } timer.Stop(); + + #else + usleep(wait*1000000); //Wait in seconds + #endif //BUILD_GRAPHICS }