弾幕のプチテストプレイその3

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
jay

弾幕のプチテストプレイその3

#1

投稿記事 by jay » 15年前

例によって龍神録仕様でコードを書きますので、お気軽にしてみて下さい。
テストプレイした後で指摘、感想、意見等よろしくお願いします。

void boss_shot_bulletH032(){
#define TM032 300
int s,i,k,t=boss_shot.cnt%TM032,t2=boss_shot.cnt;
double angle=bossatan2();
static int n,c,b,cnum;
if(t2==0){//最初なら
cnum=0;
b=150;
n=25;
c=8;
}
if(t%6==0){
for(s=-5;s<6;s+=2){
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+40;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =bossatan4(boss_shot.bullet[k].x,boss_shot.bullet[k].y)+(PI/180*n*s);
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5;
boss_shot.bullet[k].state =0;
se_flag[0]=1;
}
}
}
if(t%6==0){
for(s=-5;s<6;s+=2){
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-40;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =bossatan4(boss_shot.bullet[k].x,boss_shot.bullet[k].y)+(PI/180*n*s);
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5;
boss_shot.bullet[k].state =0;
se_flag[0]=1;
}
}
}
if(t%b==0){
for(s=1;s<3;s++){
for(i=0;i<8;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =0;
boss_shot.bullet[k].col =4;
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/8*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
for( i=0; i < BOSS_BULLET_MAX; i++ ){
if( boss_shot.bullet.flag > 0 ){
int state = boss_shot.bullet.state;
if(state==1)
boss_shot.bullet.angle-= PI/10/36;
if(state==2)
boss_shot.bullet.angle+= PI/10/36;
}
}
if(t==0){
if(cnum>1){
for(i=0;i<24;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =11;
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 =PI2/24*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.3;
boss_shot.bullet[k].state =3;
se_flag[0]=1;
}
}
}
}
for( i=0; i < BOSS_BULLET_MAX; i++ ){
if( boss_shot.bullet.flag > 0 ){
int state = boss_shot.bullet.state;
if(t==70){
if(state==3){
boss_shot.bullet.angle = bossatan4(boss_shot.bullet.x,boss_shot.bullet.y);
boss_shot.bullet.spd -= rang(0.4);
}
}
}
}
if(t==299){
cnum++;
if(cnum==2){
n=20;
c=0;}
if(cnum==4){
n=15;
c=3;
b=100;}
if(cnum==6){
n=12;
c=5;}
if(cnum==8)
b=75;
if(cnum==8)
b=60;
}
}

この弾幕は3面ボスがラストで使う予定です(ラストは少し難易度高めに)。
それもふまえて指摘などよろしくお願いします。

チルチル

Re:弾幕のプチテストプレイその3

#2

投稿記事 by チルチル » 15年前

今までと比べると難しくなっていますね
でも難易度高めにするつもりなら問題無いと思いますよ
まあ5,6面の難易度が高くなりすぎるのは心配ですが・・

気になった所は
避けにくくする演出だと思うんですが
蝶弾が自機の方に向きを変える時にバラバラになって
飛んでくるのが少し理不尽な感じがしました

軌道が読みにくいのでメビウスの輪のように
形を維持したまま綺麗に飛んできて欲しいです

それにしても早くも3面まで作るとは凄いですね

あとbossatan4関数ってjayさんが追加した関数でしょうか?
だとすると前のトビを見ていない人はわからないと思うのでとりあえず定義を・・
double bossatan4(double x,double y){//指定座標と自機
return atan2(ch.y-y,ch.x-x);
}

jay

Re:弾幕のプチテストプレイその3

#3

投稿記事 by jay » 15年前

>まあ5,6面の難易度が高くなりすぎるのは心配ですが・・
一応前5ステージのつもりです。

>避けにくくする演出だと思うんですが
蝶弾が自機の方に向きを変える時にバラバラになって
飛んでくるのが少し理不尽な感じがしました
バラバラにした方が難しいかと思いまして。

>早くも3面まで作るとは凄いですね
早くないと課題の期限に間に合わないんですよ・・・

>bossatan4関数ってjayさんが追加した関数でしょうか?
だとすると前のトビを見ていない人はわからないと思うのでとりあえず定義を・・
あっ、わざわざありがとうございます。
でも”bossatan4関数”は龍神録の館の中で管理人さんが作られた関数なんですよ。
番外編3 正直者の死を作ってみよう で追加された関数です。

関係ないですが僕も自分で495の波紋とか二重黒死蝶とか月のいはかさの呪いとか
作ったはいいですが、果してこのゲームで使っていいものか・・・

>軌道が読みにくいのでメビウスの輪のように
形を維持したまま綺麗に飛んできて欲しいです
こんな感じですか?

これだとワインダーの色が赤くなってからが凄く難しい気がしますけど

void boss_shot_bulletH032(){
#define TM032 300
int s,i,k,t=boss_shot.cnt%TM032,t2=boss_shot.cnt;
double angle=bossatan2();
static int n,c,b,cnum;
if(t2==0){//最初なら
cnum=0;
b=150;
n=25;
c=8;
}
if(t%6==0){
for(s=-5;s<6;s+=2){
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+40;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =bossatan4(boss_shot.bullet[k].x,boss_shot.bullet[k].y)+(PI/180*n*s);
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5;
boss_shot.bullet[k].state =0;
se_flag[0]=1;
}
}
}
if(t%6==0){
for(s=-5;s<6;s+=2){
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-40;
boss_shot.bullet[k].y =boss.y;
boss_shot.bullet[k].flag =1;
boss_shot.bullet[k].angle =bossatan4(boss_shot.bullet[k].x,boss_shot.bullet[k].y)+(PI/180*n*s);
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =5;
boss_shot.bullet[k].state =0;
se_flag[0]=1;
}
}
}
if(t%b==0){
for(s=1;s<3;s++){
for(i=0;i<8;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =0;
boss_shot.bullet[k].col =4;
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/8*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2;
boss_shot.bullet[k].state =s;
se_flag[0]=1;
}
}
}
}
for( i=0; i < BOSS_BULLET_MAX; i++ ){
if( boss_shot.bullet.flag > 0 ){
int state = boss_shot.bullet.state;
if(state==1)
boss_shot.bullet.angle-= PI/10/36;
if(state==2)
boss_shot.bullet.angle+= PI/10/36;
}
}
if(t==0){
if(cnum>1){
for(i=0;i<24;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].knd =11;
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 =PI2/24*i;
boss_shot.bullet[k].cnt =0;
boss_shot.bullet[k].spd =2.3;
boss_shot.bullet[k].state =3+i;
se_flag[0]=1;
}
}
}
}
for( i=0; i < BOSS_BULLET_MAX; i++ ){
if( boss_shot.bullet.flag > 0 ){
int state = boss_shot.bullet.state;
if(t==70){
if(state>=3){
boss_shot.bullet.angle = bossatan4(boss_shot.bullet.x,boss_shot.bullet.y);
boss_shot.bullet.spd = 2;
}
}
}
}
if(t==299){
cnum++;
if(cnum==2){
n=20;
c=0;}
if(cnum==4){
n=15;
c=3;
b=100;}
if(cnum==6){
n=10;
c=5;}
if(cnum==8)
b=75;
if(cnum==8)
b=60;
}
}

チルチル

Re:弾幕のプチテストプレイその3

#4

投稿記事 by チルチル » 15年前

>一応前5ステージのつもりです。

なら問題無いと思いますよ

>早くないと課題の期限に間に合わないんですよ・・・

課題だったんですか
それは急がないといけませんね

>番外編3 正直者の死を作ってみよう で追加された関数です。

そう言えば番外編は別ルートでしたね

>作ったはいいですが、果してこのゲームで使っていいものか・・・

別に大丈夫だと思いますよ
今回は期限に間に合わないという大義名分もありますしね

>これだとワインダーの色が赤くなってからが凄く難しい気がしますけど

でも前回よりはバランスが良くなったと思いますよ
あとは赤の時の幅をもう少し広げてくれれば避けやすいです

jay

Re:弾幕のプチテストプレイその3

#5

投稿記事 by jay » 15年前

チルチルさん
>前回よりはバランスが良くなったと思いますよ
見栄えもよくなりました。
ワインダーの隙間ももう少し広げてみます。

一応解決にしときますが引き続き意見など募集します。

閉鎖

“C言語何でも質問掲示板” へ戻る