コード例 #1
0
ファイル: Settings.cpp プロジェクト: nebula2/Pew
//change the state (after fadeOut is done)
void Settings::changeState(Game& game){
	if (m_fadingAlpha >= 255){

		if (m_selection == 0)//diff
			game.ChangeState(Game::gameStates::DIFFSET);

		else if (m_selection == 1)//sound
			game.ChangeState(Game::gameStates::SOUNDSET);

		else if (m_selection == 2)//graphics
			game.ChangeState(Game::gameStates::GRAPHICSET);

		else//back
			game.ChangeState(Game::gameStates::MAINMENU);
	}
}
コード例 #2
0
ファイル: SoundSet.cpp プロジェクト: nebula2/Pew
//change the state (after fadeOut is done)
void SoundSet::changeState(Game& game){

	//Go back to Settings
	if (m_fadingAlpha >= 255){
		game.ChangeState(Game::gameStates::SETTINGS);
	}
}
コード例 #3
0
ファイル: main.cpp プロジェクト: raposalorx/Old-game-engines.
int main(int argc, char** argv)
{
	// Initialize the program
	bool cont = true;
	int fps = 30;
	Timer fpsTimer;
	Game game;

	if (game.Init())
	{
		// Main program loop
		while (cont)
		{
			fpsTimer.Start();

			game.Event();
			game.Logic();
			game.Render();
			cont = game.ChangeState();

			// Manage FPS
			if (fpsTimer.GetTime() < 1000/fps)
			{
				SDL_Delay((1000/fps) - fpsTimer.GetTime());
			}
			//double cur_fps = 1000/fpsTimer.GetTime();
			//printf("%f\n", cur_fps);
		}

		fpsTimer.Stop();
	}

	// Close down and clean up
	return 0;
}
コード例 #4
0
ファイル: Intro.cpp プロジェクト: nebula2/Pew
void Intro::Update(Game &game){
	elapsedTime = (float)pClock.restart().asMilliseconds();
	y -= bgSpeed * elapsedTime;
	introSprite.setPosition(0, y);

	if (y <= -1200)
		game.ChangeState(Game::gameStates::PLAY);
}
コード例 #5
0
ファイル: Intro.cpp プロジェクト: nebula2/Pew
void Intro::HandleEvents(Game &game){
	sf::Event pEvent;
	
	while (game.window.pollEvent(pEvent))
	{
		if (pEvent.type == sf::Event::Closed)
			game.setRunning(false);

		if (pEvent.type == sf::Event::KeyPressed){
			if (pEvent.key.code == sf::Keyboard::Escape)
				game.setRunning(false);

			if (pEvent.key.code == sf::Keyboard::Return)
				game.ChangeState(Game::gameStates::PLAY);
		}
	}
	if (sf::Mouse::isButtonPressed(sf::Mouse::Button::Left)){
		game.ChangeState(Game::gameStates::PLAY);
	}
}
コード例 #6
0
ファイル: Highscore.cpp プロジェクト: nebula2/Pew
void Highscore::HandleEvents(Game &game){
	sf::Event pEvent;
	
	while (game.window.pollEvent(pEvent)){
		//close
		if (pEvent.type == sf::Event::Closed)
			game.setRunning(false);
		//menu
		if (pEvent.type == sf::Event::KeyPressed){
			if (pEvent.key.code == sf::Keyboard::Return)
				game.ChangeState(Game::gameStates::MAINMENU);
		}
	}
}
コード例 #7
0
ファイル: Program.cpp プロジェクト: Chocken/shmup
int main(int argc, char*argv[])
{
	Game game;
	game.Init("Space Shooter",Settings::ScreenWidth,Settings::ScreenHeight,32,false);
	game.ChangeState(LogoState::Instance());	
	
	while(game.Running())
	{
		game.HandleEvents();	
		game.Update();		
		game.Draw();	
	}
	
	printf("about to call cleanup\n");
	game.Cleanup();
	
	return 0;
}
コード例 #8
0
ファイル: PlayState.cpp プロジェクト: nebula2/Pew
void PlayState::HandleEvents(Game &game){
	sf::Event pEvent;
	while (game.window.pollEvent(pEvent))	{
		if (pEvent.type == sf::Event::Closed)
			game.setRunning(false);

		if (pEvent.type == sf::Event::KeyPressed){
			if (pEvent.key.code == sf::Keyboard::Escape){
				if (!paused)
					StartPause();
				else 
					game.ChangeState(Game::gameStates::MAINMENU);
			}
	
			if (pEvent.key.code == sf::Keyboard::Return && paused)
				EndPause();
		}
	}
}
コード例 #9
0
ファイル: PlayState.cpp プロジェクト: nebula2/Pew
void PlayState::Render(Game &game){
	bg.Render(game.window);

	if (player1.getActiveBool())
		if (!paused)
			HandleDraws(game);

		if (paused){
			messageHandler.Render(game.window, "pauseText");
			messageHandler.Render(game.window, "pausedInfo");
		}

	//draw HUD
	hudHealth.Render(game.window);
	hud.Render(game.window);
	messageHandler.Render(game.window, "pHealthS");
	health.Render(game.window);
	messageHandler.Render(game.window, "");
	weapon.Render(game.window);

	//new Weapon draw
	messageHandler.UpdatelvUp(points, showLvUp, game.window, elapsedTime);

	//draw Pew cooldown
	if (gotPew && player1.getActiveBool()){
		pewCD.Render(game.window);
	}

	//Game over 
	if (!player1.getActiveBool()){
		game.highscore.setPoints(points);
		messageHandler.Render(game.window, "gameOver");

		game.window.display();
		ClearStuff();
		sf::sleep(sf::seconds(1));
		game.ChangeState(Game::gameStates::HIGHSCORE);
	}
}
コード例 #10
0
ファイル: HighscoreList.cpp プロジェクト: nebula2/Pew
//change the state (after fadeOut is done)
void HighscoreList::changeState(Game& game){
	if (m_fadingAlpha >= 255){
		//Do Screen stuff
		game.ChangeState(Game::gameStates::MAINMENU);
	}
}