龍神録プログラムの館を拝見し、ゲームを作り始めた者です。
現在ミシャグジ様弾幕とみょん弾幕を少々弄ったものをボス用に変更したいのですが、なかなかうまくいきません。
どなたか教えていただけますと幸いです。
以下、変更したいプログラム
void shot_bullet_H007(){
int t=shot[n].cnt;
if(t>=0 && t<=300 && t%10==0){
for(int i=0;i<20;i++){
if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
shot[n].bullet[k].knd =8;
shot[n].bullet[k].angle =PI2/10*i;
shot[n].bullet[k].flag =1;
shot[n].bullet[k].x =enemy[shot[n].num].x+cos(PI/2+PI/150*t)*80;
shot[n].bullet[k].y =enemy[shot[n].num].y+sin(PI/2+PI/150*t)*10;
shot[n].bullet[k].col =2;
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].spd =1.2;
}
}
for(int i=0;i<20;i++){
if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
shot[n].bullet[k].knd =8;
shot[n].bullet[k].angle =PI2/10*i;
shot[n].bullet[k].flag =1;
shot[n].bullet[k].x =enemy[shot[n].num].x+cos(PI/2-PI/150*t)*10;
shot[n].bullet[k].y =enemy[shot[n].num].y+sin(PI/2-PI/150*t)*80;
shot[n].bullet[k].col =5;
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].spd =1.2;
se_flag[0]=1;
}
}
}
if(t>=0 && t<240 && t%20==0){
double angle=shotatan2(n);
for(int i=0;i<20;i++){
if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
shot[n].bullet[k].knd =2;
shot[n].bullet[k].angle =angle+PI2/20*i;
shot[n].bullet[k].flag =1;
shot[n].bullet[k].x =enemy[shot[n].num].x;
shot[n].bullet[k].y =enemy[shot[n].num].y;
shot[n].bullet[k].col =4;
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].spd =4;
}
}
}
}
void shot_bullet_H008(int n){
int t=shot[n].cnt;
int k;
if(t>=0 && t<1200 && t%90==0){
double angle=rang(PI);
for(int j=0;j<3;j++){//途中から2分裂する分
for(int i=0;i<25;i++){//一度に60個
if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
shot[n].bullet[k].knd =3;//8番の弾
shot[n].bullet[k].angle =angle+PI2/25*i;//円形60個
shot[n].bullet[k].flag =1;
shot[n].bullet[k].x =enemy[shot[n].num].x;
shot[n].bullet[k].y =enemy[shot[n].num].y;
shot[n].bullet[k].col =0;//4番の色
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].state =1;//ステータス。0か1かで回転がかわる
shot[n].bullet[k].spd =2;
}
}
for(int i=0;i<25;i++){//一度に60個
if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
shot[n].bullet[k].knd =3;//8番の弾
shot[n].bullet[k].angle =angle+PI2/25*i;//円形60個
shot[n].bullet[k].flag =1;
shot[n].bullet[k].x =enemy[shot[n].num].x;
shot[n].bullet[k].y =enemy[shot[n].num].y;
shot[n].bullet[k].col =1;//4番の色
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].state =0;//ステータス。0か1かで回転がかわる
shot[n].bullet[k].spd =3;
}
}
}
se_flag[0]=1;//発射音鳴らす
}
for(int i=0;i<SHOT_BULLET_MAX;i++){//全弾分
if(shot[n].bullet.flag>0){//登録されている弾があれば
int state=shot[n].bullet.state;
int cnt=shot[n].bullet.cnt;
if(30<cnt && cnt<120){//30~120カウントなら
shot[n].bullet.spd-=1.2/90.0;//90カウントかけて1.2減らす
shot[n].bullet.angle+=(PI/2)/90.0*(state?-1:1);//90カウントかけて90°傾ける
}
}
}
}