弾幕のプチテストプレイその2
Posted: 2009年12月12日(土) 12:33
また、弾幕のテストプレイをお願いします。
プログラムコードは龍神録仕様です、コピペして下さい。
プレイしてみて感想、意見、指摘などをよろしくお願いします。
void boss_shot_bulletH030(){
#define TM030 91
int i,k,t=boss_shot.cnt%TM030,t2=boss_shot.cnt;
static int c,cnum;
double angle=bossatan2();
if(t2==0){//最初なら
cnum=0;
c=0;
}
if(t==0 && cnum>4 && cnum%2==0){
for(i=-1;i<2;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =5;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/20*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =3.8;
se_flag[0]=1;
}
}
}
if(t==0 && cnum>9 && cnum%2==1){
for(i=-8;i<9;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =3;
boss_shot.bullet[k].col =2;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/36*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.4;
se_flag[0]=1;
}
}
}
if(t==45){
for(i=0;i<40;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =8;
boss_shot.bullet[k].col =c;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/150*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.1;
se_flag[0]=1;
}
}
c++;
if(c>8) c=0;
}
if(t==90){
for(i=0;i>-40;i--){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =8;
boss_shot.bullet[k].col =c;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/150*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.1;
se_flag[0]=1;
}
}
c++;
cnum++;
if(c>8) c=0;
}
}
この弾幕は2面ボスがラスト1つ手前で使う予定です。
それもふまえて指摘などして下さい。
プログラムコードは龍神録仕様です、コピペして下さい。
プレイしてみて感想、意見、指摘などをよろしくお願いします。
void boss_shot_bulletH030(){
#define TM030 91
int i,k,t=boss_shot.cnt%TM030,t2=boss_shot.cnt;
static int c,cnum;
double angle=bossatan2();
if(t2==0){//最初なら
cnum=0;
c=0;
}
if(t==0 && cnum>4 && cnum%2==0){
for(i=-1;i<2;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =1;
boss_shot.bullet[k].col =5;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/20*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =3.8;
se_flag[0]=1;
}
}
}
if(t==0 && cnum>9 && cnum%2==1){
for(i=-8;i<9;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =3;
boss_shot.bullet[k].col =2;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/36*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =1.4;
se_flag[0]=1;
}
}
}
if(t==45){
for(i=0;i<40;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =8;
boss_shot.bullet[k].col =c;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/150*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.1;
se_flag[0]=1;
}
}
c++;
if(c>8) c=0;
}
if(t==90){
for(i=0;i>-40;i--){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =8;
boss_shot.bullet[k].col =c;
boss_shot.bullet[k].x =boss.x;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =angle+PI2/150*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.1;
se_flag[0]=1;
}
}
c++;
cnum++;
if(c>8) c=0;
}
}
この弾幕は2面ボスがラスト1つ手前で使う予定です。
それもふまえて指摘などして下さい。