Beispiel #1
0
void SideScroller::Update(float elapsed) {
	if (state == STATE_TITLE)
	{
		return;
	}
	else if (state == STATE_GAME)
	{
		if (enemySpawnTimer > 0.8f && enemies.size() < 50) {
			Enemy* tempEnemy = new PewRunner(tex);
			tempEnemy->y = player->y + 4.0f;
			tempEnemy->x = player->x + 10.0f;
			tempEnemy->setScale(2.5f);
			if (genRandomNumber(0.0f, 1.0f) > 0.93f) {
				//Grant him knighthood
				tempEnemy->hp += 30;
				Weapon* weapon = new Weapon(tex);
				weapon->changeWeapon(SWORD);
				tempEnemy->equip(weapon);
				entities.push_back(weapon);
			}

			tempEnemy->setWalkLeft(0.8f);

			enemies.push_back(tempEnemy);
			entities.push_back(tempEnemy);
			
			enemySpawnTimer = genRandomNumber(0.0f, 0.75f);
		}

		for (size_t i = 0; i < entities.size(); i++) {
			entities[i]->Update(elapsed);
		}

		for (size_t i = 0; i < projectiles.size(); i++) {
			projectiles[i]->Update(elapsed);
		}

		enemySpawnTimer += elapsed;
	}
}