//call from init.cpp
void CWorldManager::loop()
{
	
	SDL_Event event;
	::SDL_PollEvent(&event);
	receiver->onEvent(event);
	if(in_battle == false)
	{
		playerControl(event);

		test->render();
		runPeople();
	}
	else
	{
		//run battle sim
		for(int i= 0; i<no_battles.size() ; i++)
		{
			//fix this
			if(no_battles[i]->inBattle())
			{
				no_battles[i]->run();
			}
			else
			{
				//remove
				no_battles[i]->drop();
				no_battles.erase(no_battles.begin()+i);
			}
		}
	}
}
Exemplo n.º 2
0
TEST_F(PlayerControlTest, Construct_SetWorldCameraPosition_PlayerPositionMinus1xMinus1)
{
    mOwnerPosition.set<glm::ivec2>(glm::ivec2(-1, -1));

    PlayerControl playerControl(mInput, mWorld, mOwner);

    EXPECT_EQ(glm::ivec2(-33, -19), mWorldCameraPosition.get<glm::ivec2>());
}
Exemplo n.º 3
0
void GameView::mainTimer(){
    // Вектор будет хранить указатели на игрока(-ов)
    QVector <Ship*> player;

    if ( count_players > 0 ) player.push_back(player1);
    if ( count_players > 1 ) player.push_back(player2);

    // X A W S D Tab Q E Space

    for (int i = 0; i < count_players; ++i)
        playerControl(player[i], i);
}
Exemplo n.º 4
0
TEST_F(PlayerControlTest, Construct_SetWorldCameraPosition_PlayerPositionZero)
{
    PlayerControl playerControl(mInput, mWorld, mOwner);

    EXPECT_EQ(glm::ivec2(-32, -18), mWorldCameraPosition.get<glm::ivec2>());
}
void Engine::runEngine()
{
    sf::Clock clock;
    sf::Time timer;

    sf::Clock time;
    float delta = 0;

    volatile bool pressed = false;
    bool menu = false;

    gameAudio.playGame();

    while(!menu)
    {
        timer = clock.getElapsedTime();

        if(timer >= sf::seconds(1))
        {
            if(!gameOver)
                player.score++;

            clock.restart();
        }

        sf::Event event;

        while(window->pollEvent(event))
        {
            if(event.type == sf::Event::Closed)
            {
                gameAudio.stopGame();
                window->close();
            }
        }
        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
        {
            menu = true;
            gameAudio.stopGame();
        }

        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right) && !pressed)
            player.ship.rotate(player.Rotate*delta);


        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left) && !pressed)
            player.ship.rotate(-player.Rotate*delta);


        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
        {
            if(player.velocity < player.accLimit)
                player.velocity += player.accelerate;
            pressed = true;
        }

        else if(sf::Event::KeyReleased)
        {
            if(player.velocity > 0)
                player.velocity -= (player.speedLess*delta);

            if(event.key.code == sf::Keyboard::Up)
                pressed = false;
        }

        meteorControl(entity, delta);

        playerControl(&player, delta, pressed);

        if(!gameOver && collision(player, entity) && !crash)
            crash = true;

        window->clear();
        window->draw(info);
        window->draw(player.ship);

        if(gameOver)
        {
            window->clear();
            window->draw(game_over);
        }

        for(int i=0; i<entity.ile; i++)
            window->draw(entity.meteor[i]);

        window->display();

        delta = time.getElapsedTime().asSeconds();
        time.restart();
    }
}