int _tmain(int argc, _TCHAR* argv[]) { sf::RenderWindow window(sf::VideoMode(1280, 720), "Cubecraft"); Game myGame(&window); sf::Clock clock; //Globals::playerStoneAmnt = 0; //Globals::playerWoodAmnt = 50; while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) { window.close(); } } sf::Time dt = clock.restart(); window.clear(); myGame.Loop(&window, dt); myGame.Draw(&window); window.display(); } return 0; }
int main() { Graphics myGraphics(20 * OBJ_WIDTH, 20 * OBJ_HEIGHT, 0, SDL_HWSURFACE, 100); Map myMap(&myGraphics); Game myGame(&myGraphics, &myMap); int ret = myGame.StartGame("level1.map"); bool bRunning = true; while (bRunning){ // begin next level if (ret == 1){ string next_filename = myGame.NextLevel(); myGame.StartGame(next_filename); } else if (ret == 0){ // re flush return 0; } } return 0; }
int main(int argc, char* argv[]) { MyGame* game = nullptr; // pointer to allow game termination when exceptions are caught try { load(WINDOW_WIDTH, WINDOW_HEIGHT); SDL_Window* window = SDL_GL_GetCurrentWindow(); SDL_GLContext glContext = SDL_GL_GetCurrentContext(); MyGame myGame(window, glContext, WINDOW_WIDTH, WINDOW_HEIGHT); // should MyGame become owner of window and glcontext when passed them? would change ~MyGame() // also, should MyGame::Terminate and Initialize even exist? Initialize could be constructor, terminate destructor game = &myGame; myGame.Initialize(); myGame.Draw(); unsigned int lastUpdate = SDL_GetTicks(); while (myGame.isRunning()) { if (lastUpdate + 66 < SDL_GetTicks()) { myGame.Update(); myGame.Draw(); lastUpdate = SDL_GetTicks(); } } myGame.Terminate(); unload(); } catch (SDLInitError err) { printf("%s, err: %s", err.getMessage().c_str(), SDL_GetError()); std::cin.get(); } catch (InitError err) { printf("Initialization failed, err: %s", err.getMessage().c_str()); std::cin.get(); } catch (GLError err) { char* type = ""; GLchar log[512]; switch (err.getType()) { case GLErrorType::PROGRAM: type = "Program"; glGetProgramInfoLog(err.getHandle(), 512, NULL, log); break; case GLErrorType::PROGRAM_PIPELINE: type = "Program Pipeline"; glGetProgramPipelineInfoLog(err.getHandle(), 512, NULL, log); break; case GLErrorType::SHADER: type = "Shaders"; glGetShaderInfoLog(err.getHandle(), 512, NULL, log); break; } printf("Error with GL %s. \nError Message: %s.\n", type, err.getMessage().c_str()); std::cout << "GL Log: " << log << std::endl; std::cin.get(); } if (game) { game->Terminate(); } unload(); return 0; }