Sat Jun 13, 2015 2:54 pm
class Enemy
{
public:
bool update = false;
};
class Enemy_Spawner
{
public:
byte timer = 40;
byte delay = 80;
byte spawned = 0;
byte limit = 5;
bool spawning = false;
byte spawn_step = 0;
};
Enemy_Spawner enemy_spawner;
Enemy enemy[30];
//Gets triggered in loop()
void UpdateEnemySpawner()
{
enemy_spawner.timer++;
if(enemy_spawner.timer > enemy_spawner.delay && !enemy_spawner.spawning)
{
enemy_spawner.timer = 0;
enemy_spawner.spawning = true;
for(byte i=0; i<NUM_ENEMIES; i++)
{
if(enemy[i].update == false)
{
enemy[i].update = true;
enemy_spawner.spawned++;
enemy_spawner.spawn_step++;
if(enemy_spawner.spawn_step >= 5)
{
enemy_spawner.spawning = false;
enemy_spawner.spawn_step = 0;
enemy_spawner.timer = 0;
break;
}
}
}
}
}
Sun Jun 14, 2015 12:45 pm