void boss_shot_bulletH002(){ #define TM002 650 int i,k,t=boss_shot.cnt%TM002; double angle; if(t==0 || t==210){ //40<x<FMX-40 50<y<150 の範囲で100離れた位置に80カウントで移動する move_boss_pos(40,50,FMX-40,150,100, 80); } //最初のランダム発射 if(t<180){ for(i=0;i<2;i++){//1カウントに2回発射 if((k=search_boss_shot())!=-1){ boss_shot.bullet[k].col = GetRand(6);//7種類の色をランダムに boss_shot.bullet[k].x = boss.x;//発射初期座標はボスの位置 boss_shot.bullet[k].y = boss.y; boss_shot.bullet[k].knd = 7;//弾の種類 boss_shot.bullet[k].angle = rang(PI2/20)+PI2/10*t; boss_shot.bullet[k].flag = 1; boss_shot.bullet[k].cnt = 0; boss_shot.bullet[k].spd = 3.2+rang(2.1); boss_shot.bullet[k].state = 0;//弾のステータス boss_shot.bullet[k].kaiten= 1;//弾を回転するかどうかのフラグ } } if(t%10==0) se_flag[0]=1; } //次のランダム発射 if(t<400){ for(i=0;i<2;i++){//1カウントに2回発射 if((k=search_boss_shot())!=-1){ boss_shot.bullet[k].col = GetRand(6);//7種類の色をランダムに boss_shot.bullet[k].x = boss.x;//発射初期座標はボスの位置 boss_shot.bullet[k].y = boss.y; boss_shot.bullet[k].knd = 7;//弾の種類 boss_shot.bullet[k].angle = rang(PI2/20)+PI2/10*t; boss_shot.bullet[k].flag = 1; boss_shot.bullet[k].cnt = 0; boss_shot.bullet[k].spd = 3.2+rang(2.1); boss_shot.bullet[k].state = 3;//弾のステータス boss_shot.bullet[k].kaiten= 1;//弾を回転するかどうかのフラグ } } if(t%10==0) se_flag[0]=1; } for(i=0;i<BOSS_BULLET_MAX;i++){ if(boss_shot.bullet.flag>0){ //tが190の時に全てストップさせ、白くし、カウントリセット if(boss_shot.bullet.state==0){ if(t==190){ boss_shot.bullet.kaiten=0;//弾の回転を止める boss_shot.bullet.spd =0; boss_shot.bullet.col =9; boss_shot.bullet.cnt =0; boss_shot.bullet.state =1;//ステータスを1に } } //ランダムな方向に移動し始める if(boss_shot.bullet.state==1){ if(boss_shot.bullet.cnt==200){ boss_shot.bullet.angle=rang(PI);//全方向ランダム boss_shot.bullet[i].kaiten=1;//回転するフラグを立てる boss_shot.bullet[i].col =0; } if(boss_shot.bullet[i].cnt>200) boss_shot.bullet[i].spd+=0.01;//段々加速 } } } for(i=0;i<BOSS_BULLET_MAX;i++){ if(boss_shot.bullet[i].flag>0){ //tが220の時に全てストップさせ、白くし、カウントリセット if(boss_shot.bullet[i].state==3){ if(t==410){ boss_shot.bullet[i].kaiten=0;//弾の回転を止める boss_shot.bullet[i].spd =0; boss_shot.bullet[i].col =9; boss_shot.bullet[i].cnt =0; boss_shot.bullet[i].state =4;//ステータスを4に } } //ランダムな方向に移動し始める if(boss_shot.bullet[i].state==4){ if(boss_shot.bullet[i].cnt==200){ boss_shot.bullet[i].angle=rang(PI);//全方向ランダム boss_shot.bullet[i].kaiten=1;//回転するフラグを立てる boss_shot.bullet[i].col =1; } if(boss_shot.bullet[i].cnt>200) boss_shot.bullet[i].spd+=0.01;//段々加速 } } } }
思いつきでつくりました。
パーフェクトフリーズの上からパーフェクトフリーズを
重ねるっていう、実装難易度は低くても
攻略難易度は高めのものです。