void MenuBehaviour::SetMenuItemsPosition()
	{
		float centerX = Game::WINDOW_WIDTH / 2.0f;
		float totalHeight = 0.0f;

		for (auto item = m_menuItems.begin(); item != m_menuItems.end(); ++item)
			totalHeight += item->GetGlobalBounds().Height + MARGIN;

		float top = Game::WINDOW_HEIGHT / 2 - totalHeight / 2;

		for (auto item = m_menuItems.begin(); item != m_menuItems.end(); ++item)
		{
			item->SetPosition(centerX - item->GetGlobalBounds().Width / 2, top);
			top += item->GetGlobalBounds().Height + MARGIN;
		}
	}
Example #2
0
bool Enemy::Contact(Player &player)
{
	FloatRect playr = player.GetGlobalBounds();
	FloatRect enmy = GetGlobalBounds();

	if(enmy.intersects(playr)) return true;
	return false;
}
Example #3
0
bool Enemy::Move()
{
	FloatRect enemy = GetGlobalBounds();
	if(status == DEAD && enemy.top < 721) sprite.move(0,3*speed);
	else if(status == GO_RIGHT && (enemy.left + enemy.width)< startx + movement) GoRight();
	else if(status == GO_RIGHT && (enemy.left + enemy.width)>= startx + movement) GoLeft();
	else if(status == GO_LEFT && enemy.left > startx) GoLeft();
	else if(status == GO_LEFT && enemy.left <= startx) GoRight();
	else return false;
	return true;
}
	void MenuBehaviour::Render(sf::RenderTarget& target, float interpolation)
	{
		sf::Sprite background = m_resources.Get(Sprite_Background);
		target.Draw(background);

		auto title = m_resources.GetText("Ulderico - Alpha");
		title.SetPosition(Game::WINDOW_WIDTH / 2 - title.GetGlobalBounds().Width / 2, 40.0f);
		target.Draw(title);
		
		for (auto item = m_menuItems.begin(); item != m_menuItems.end(); ++item)
			target.Draw(*item);
	}
Example #5
0
void Enemy::OnContact(Player &player)
{
	FloatRect playr = player.GetGlobalBounds();
	FloatRect enmy = GetGlobalBounds();

	if((playr.top + playr.height)<=enmy.top+5)
	{
		if(status == GO_RIGHT) i = 4;
		else i = 5;
		status = DEAD;
	}
	else
	{ 
		player.health -= damage;
		player.Back();
	}
}
	void MenuBehaviour::HandleMouseClick(sf::Event::MouseButtonEvent const& e)
	{
		for (auto item = m_menuItems.begin(); item != m_menuItems.end(); ++item)
		{
			auto bounds = item->GetGlobalBounds();
			auto text = item->GetString();
			if (bounds.Contains(static_cast<float>(e.X), static_cast<float>(e.Y)))
			{
				if (text == STR_GAME_START)
					m_game.ChangeState(GameState_InGame);
				else if(text == STR_HIGHSCORE)
					m_game.ChangeState(GameState_Highscore);
				else if(text == STR_QUIT)
					m_game.Quit();
				break;
			}
		}		
	}