Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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;
}