void game_state::check_bullets( void )
{
    for( size_t b = bullets.size(); b > 0; --b )
    {
        for( size_t t = tanks.size(); t > 0; --t )
        {
            if( collision( *bullets[b-1], *tanks[t-1] ) )
            {
                spawn_explosion( bullets[ b - 1 ]->getPos() );
                destroy_tank( t - 1 );
                destroy_bullet( b - 1 );
                break;
            }
        }
    }
}
game_state::~game_state()
{
    while( tanks.size() > 0 )
    {
        destroy_tank( tanks.size() - 1 );
    }

    while( bullets.size() > 0 )
    {
        destroy_bullet( bullets.size() - 1 );
    }

    while( explosions.size() > 0 )
    {
        destroy_explosion( explosions.size() - 1 );
    }
}
Exemple #3
0
	void Bullet::animation_end() {

		emit destroy_bullet(this->id);//handles the bullet 
	}