//----------------------------------------------------------	
void ScreenItemAdd::loadLevelXXX()
{
	int i;
	int	numIterations = 12000;
//	int	numIterations = (int)(11100 * game->gameSkill);
//	int	numIterations = (int)(1100 * game->gameSkill);
	
	clearDeadPool();
	//-- Enemies
	float	r;
	float	d;
	int		waveDuration = 500;	
	i = 600;
	addStraightWave(1, i, 0.4);
	while(i < numIterations-1000)
	{
		if(i < 1500)
			d = (i+250.0)/2000.0;
		else
			d = 1.0;
		r = FRAND;
		if      (r < 0.15)	addStraightArrowWave(i, waveDuration, d);
		else if (r < 0.25)	addOmniArrowWave(i, waveDuration, d);
		else if (r > 0.60)	addStraightWave(i, waveDuration, d);
		else				addOmniWave(i, waveDuration, d);

		i += waveDuration;
		waveDuration = (int)(600.0*game->gameSkill) + (int)(100*SRAND);
		i += 50 + (int)(50*FRAND);
	}
	
	//-- ray gun enemy starts halfway through...
	EnemyWave	rayWave(EnemyRayGun);
	rayWave.setXRand(8.0);
	rayWave.setFrequency(60, 5);	
	rayWave.setFrequency(2000, 1000);
	rayWave.setInOut(numIterations/2, i-1000);
//	rayWave.setInOut(100, i-1000);
	addWave(rayWave);
	
	//-- Boss
	EnemyWave	bossWave(EnemyBoss00);
	bossWave.setInOut(i+75, i+1000);	
	bossWave.setPos(0.0, 15.0);
	bossWave.setXRand(4.0);
	bossWave.setFrequency(5000, 0);
	addWave(bossWave);
		
	//-- Ammunition and PowerUps
	addAmmunition(0, numIterations+9000);
	addPowerUps(0, numIterations+9000);
}
Exemple #2
0
    // Update
const void World::update(const sf::Time& dt)
{
    for (unsigned i = 0; i < (mPlayers.size() > mEnemies.size() ? mPlayers.size()
                                                                : mEnemies.size()); i++) {
        if (mPlayers.begin()+i < mPlayers.end() && mPlayers[i].getVisible()) {
            mPlayers[i].update(dt);
            mTextHolder.correctProperties(mTextHolder.get(Texts::Scores, i));
        }
        if (mEnemies.begin()+i < mEnemies.end() && mEnemies[i].getVisible())
            mEnemies[i].update(dt);
        if (mPowerUps.begin()+i < mPowerUps.end() && mPowerUps[i].getVisible())
            mPowerUps[i].update(dt);
    }

    addEnemies();
    recycleEnemies();
    addPowerUps();
    recyclePowerUps();
}
//----------------------------------------------------------	
void ScreenItemAdd::loadLevel3()
{
	int i;
	int	numIterations = 14000;
//	int	numIterations = 1400;
	
	clearDeadPool();
	//-- Enemies
	int		waves = 0;
	float	r;
	int		waveDuration = 500;	
	i = 500;
	addStraightWave(100, i, 0.5);
	while(i < numIterations)
	{
		r = FRAND;
		waves++;
		
		if( waves ==  5 || 
			waves == 12 )
		{
			addGnatWave(i, waveDuration, 0.9, false);
		}
		else if (	waves ==  6 ||
					waves == 11 ||
					waves == 15 || waves == 16 )
		{
			EnemyWave	tankWave(EnemyTank);
			tankWave.setPos(0.0, 11.0);
			tankWave.setXRand(10.0);
			tankWave.setFrequency(700, 100);
			tankWave.setInOut(i+50, waveDuration-50);
			addWave(tankWave);
			
			addStraightWave		(i, 300);
		}
		else if (waves < 5)
		{
			if     (r < 0.20)	addStraightArrowWave(i, waveDuration);
			else if(r < 0.30)	addOmniArrowWave	(i, waveDuration);
			else if(r < 0.60)	addOmniWave			(i, waveDuration);
			else				addStraightWave		(i, waveDuration);
		}
		else
		{
			if     (r < 0.25) 	addGnatWave			(i, waveDuration);
			else if(r < 0.35)	addStraightArrowWave(i, waveDuration);
			else if(r < 0.50)	addOmniArrowWave	(i, waveDuration);
			else if(r < 0.80)	addOmniWave			(i, waveDuration);
			else				addStraightWave		(i, waveDuration);
		}
		i += waveDuration;
		waveDuration = (int)(700.0 + 100.0*SRAND);
		i += 50 + (int)(50*FRAND);
	}
	EnemyWave	gnatWave(EnemyGnat);
	gnatWave.setInOut(3000, 5000);
	gnatWave.setPos(FRAND*4.0, 10.0);
	gnatWave.setFrequency(150, 140);
	gnatWave.setXRand(5.0);
	addWave(gnatWave);
	
	gnatWave.setInOut(8000, 11000);
	addWave(gnatWave);
	
	//-- give some extra power ups...
	addAmmunition(0, 2000, 500, 700, 0);
	addAmmunition(10000, 2000, 500, 700, 0);
	addPowerUps(3000, 2000, 2500, 2500, 0);
	addPowerUps(9500, 2000, 2500, 2500, 0);
	addPowerUps(numIterations, 2000, 2500, 2500, 1);
	
	//-- Boss
	EnemyWave	bossWave(EnemyBoss01);
	bossWave.setPos(0.0, 15.0);
	bossWave.setXRand(4.0);
	bossWave.setFrequency(5000, 0);
	bossWave.setInOut(numIterations+700, numIterations+710);	
	addWave(bossWave);
	
	EnemyWave	tankWave(EnemyTank);
	tankWave.setPos(0.0, 11.0);
	tankWave.setXRand(10.0);
	tankWave.setFrequency(2000, 200);
	tankWave.setInOut(numIterations+400, numIterations+3000);
	addWave(tankWave);
			
	//-- Ammunition and PowerUps
	addAmmunition(0, numIterations+9000);
	addPowerUps(0, numIterations+9000);
	
}