return powerup;
};
+void determine_powerup(game_object powerups[], game_object object, int odds){
+ if(rand()%1000>odds){
+ for(int puploop = 0; puploop<4; puploop++){
+ if(powerups[puploop].active==0){
+ powerups[puploop] = powerup_init(powerups[puploop], object);
+ break;
+ };
+ };
+ };
+
+};
+
game_object player_init(game_object player){
player.x = 18;
player.y = rand()%600+20;
//kill landers
for(int landerloop = 0; landerloop<landermax; landerloop++){
if((abs(player.y-landers[landerloop].y)<=40)&&(player.x==landers[landerloop].x)&&((player.face==0&&(landers[landerloop].y<player.y))||(player.face==1&&(landers[landerloop].y>player.y)))){
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], landers[landerloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, landers[landerloop], 800);
boom_object(boomstuff, landers[landerloop]);
landers[landerloop] = object_out(landers[landerloop]);
score = score + 10;
//kill crazies
for(int crazyloop = 0; crazyloop<landermax; crazyloop++){
if((abs(player.y-crazies[crazyloop].y)<=40)&&(player.x==crazies[crazyloop].x)&&((player.face==0&&(crazies[crazyloop].y<player.y))||(player.face==1&&(crazies[crazyloop].y>player.y)))){
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], crazies[crazyloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, crazies[crazyloop], 800);
boom_object(boomstuff, crazies[crazyloop]);
crazies[crazyloop] = object_out(crazies[crazyloop]);
score = score + 10;
//kill crawlers
for(int crawlerloop = 0; crawlerloop<crawlermax; crawlerloop++){
if((abs(player.y-crawlers[crawlerloop].y)<=40)&&(player.x==crawlers[crawlerloop].x)&&((player.face==0&&(crawlers[crawlerloop].y<player.y))||(player.face==1&&(crawlers[crawlerloop].y>player.y)))){
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], crawlers[crawlerloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, crawlers[crawlerloop], 800);
boom_object(boomstuff, crawlers[crawlerloop]);
crawlers[crawlerloop] = object_out(crawlers[crawlerloop]);
score = score + 10;
if((abs(player.y-saucer.y)<=40)&&(player.x==saucer.x)&&((player.face==0&&(saucer.y<player.y))||(player.face==1&&(saucer.y>player.y)))){
saucer.phase = saucer.phase - 5;
if(saucer.phase<=0){
- //powerup?
- if(rand()%1000>600){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], saucer);
- break;
- };
- };
- };
+ determine_powerup(powerups, saucer, 600);
boom_object(boomstuff, saucer);
saucer = object_out(saucer);
score = score + 100;
smartbombs--;
for(int landerloop = 0; landerloop<landermax; landerloop++){
if(abs(player.y-landers[landerloop].y)<=40){
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], landers[landerloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, landers[landerloop], 800);
boom_object(boomstuff, landers[landerloop]);
landers[landerloop] = object_out(landers[landerloop]);
score = score + 20;
if(landers[landerloop].active==1){
if(check_collision(bullets[bulletloop], landers[landerloop])==1){
//kill lander and bullet
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], landers[landerloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, landers[landerloop], 800);
boom_object(boomstuff, landers[landerloop]);
landers[landerloop] = object_out(landers[landerloop]);
bullets[bulletloop].vtime = 100;
if(crazies[crazyloop].active==1){
if(check_collision(bullets[bulletloop], crazies[crazyloop])==1){
//kill crazy and bullet
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], crazies[crazyloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, crazies[crazyloop], 800);
boom_object(boomstuff, crazies[crazyloop]);
crazies[crazyloop] = object_out(crazies[crazyloop]);
bullets[bulletloop].vtime = 100;
if(crawlers[crawlerloop].active==1){
if(check_collision(bullets[bulletloop], crawlers[crawlerloop])==1){
//kill crawler and bullet
- //powerup?
- if(rand()%1000>800){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], crawlers[crawlerloop]);
- break;
- };
- };
- };
+ determine_powerup(powerups, crawlers[crawlerloop], 800);
boom_object(boomstuff, crawlers[crawlerloop]);
crawlers[crawlerloop] = object_out(crawlers[crawlerloop]);
bullets[bulletloop].vtime = 100;
//kill hurt or kill saucer, kill bullet
saucer.phase = saucer.phase - 1;
if(saucer.phase<=0){
- //powerup?
- if(rand()%1000>600){
- for(int puploop = 0; puploop<4; puploop++){
- if(powerups[puploop].active==0){
- powerups[puploop] = powerup_init(powerups[puploop], saucer);
- break;
- };
- };
- };
+ determine_powerup(powerups, saucer, 600);
boom_object(boomstuff, saucer);
saucer = object_out(saucer);
bullets[bulletloop].vtime = 100;