龍神録プログラムの館を拝見し、ゲームを作り始めた者です。
現在ミシャグジ様弾幕とみょん弾幕を少々弄ったものをボス用に変更したいのですが、なかなかうまくいきません。
どなたか教えていただけますと幸いです。
以下、変更したいプログラム
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°傾ける } } } }