enemy lifecycle
This commit is contained in:
parent
ad71177251
commit
19258268b0
2 changed files with 28 additions and 6 deletions
|
|
@ -50,7 +50,12 @@ void spawnEnemy(u8 type, u8 zone){
|
||||||
for(u8 j = 0; j < PROP_COUNT; j++){
|
for(u8 j = 0; j < PROP_COUNT; j++){
|
||||||
enemies[i].ints[j] = 0;
|
enemies[i].ints[j] = 0;
|
||||||
}
|
}
|
||||||
enemies[i].ints[0] = random() % 20;
|
switch(enemies[i].type){
|
||||||
|
case 0:
|
||||||
|
loadEnemyOne(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void boundsEnemy(u8 i){
|
static void boundsEnemy(u8 i){
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,34 @@
|
||||||
|
void loadEnemyOne(u8 i){
|
||||||
|
enemies[i].ints[0] = random() % 60;
|
||||||
|
}
|
||||||
|
|
||||||
void updateEnemyOne(u8 i){
|
void updateEnemyOne(u8 i){
|
||||||
if(enemies[i].clock % 20 == enemies[i].ints[0]){
|
if(enemies[i].clock % 60 == enemies[i].ints[0]){
|
||||||
struct bulletSpawner spawner = {
|
struct bulletSpawner spawner = {
|
||||||
.x = enemies[i].pos.x,
|
.x = enemies[i].pos.x,
|
||||||
.y = enemies[i].pos.y,
|
.y = enemies[i].pos.y,
|
||||||
.anim = 6 + (random() % 3),
|
.anim = 6 + (random() % 3),
|
||||||
// .frame = 1,
|
// .frame = 1,
|
||||||
.speed = FIX32(4),
|
.speed = FIX32(4),
|
||||||
.angle = random() % 128,
|
.angle = random() % 256,
|
||||||
};
|
};
|
||||||
if(random() % 2 < 1) spawner.anim += 3;
|
if(random() % 2 < 1) spawner.anim += 3;
|
||||||
for(u8 j = 0; j < 8; j++){
|
for(u8 j = 0; j < 4; j++){
|
||||||
spawnBullet(spawner, EMPTY);
|
spawnBullet(spawner, EMPTY);
|
||||||
spawner.angle += 128;
|
spawner.angle += 256;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updateLander(u8 i){}
|
||||||
|
|
||||||
|
void updateMutant(u8 i){}
|
||||||
|
|
||||||
|
void updateSwarmer(u8 i){}
|
||||||
|
|
||||||
|
void updatePod(u8 i){}
|
||||||
|
|
||||||
|
void updateBomber(u8 i){}
|
||||||
|
|
||||||
|
void updateBaiter(u8 i){}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue