龍神録で中ボスを出さずにボスのみ出す方法

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

龍神録で中ボスを出さずにボスのみ出す方法

#1

投稿記事 by まっさ » 15年前

が分からなくて困ってるのですが、
boss.appear_count[0]がboss.appear_count[1]に変わるタイミングは
どこで変わってるのでしょうか?
探しても見つからなくて…
50章を使ってます。

胡椒

Re:龍神録で中ボスを出さずにボスのみ出す方法

#2

投稿記事 by 胡椒 » 15年前

boss.appear_count[0]がboss.appear_count[1]に変わるわけではない思います。
例えばboss.appear_count[0]に500を、boss.appear_count[1]に1000を入れたとすると、それぞれの値とカウントが一致したときにボスが出るのではないでしょうか?

これはini.cppのini()関数の中にありますよ。
また、文字列を検索したいときはCtrl+Fで出来るので、利用されると便利ですよ。

まっさ

Re:龍神録で中ボスを出さずにボスのみ出す方法

#3

投稿記事 by まっさ » 15年前

>胡椒さん
それは理解してるのですが、
それだと、boss.appear_count[0]=500のときに中ボスが
boss.appear_count[1]=1000のときにボスが
必ず出現してしまいます。

boss.appear_count[0]を飛ばして、
boss.appear_count[1]から始める方法が知りたいです。

つまり、ini()関数の部分はコメントアウトして
//boss.appear_count[0]=500; //中ボスが出現する時刻
boss.appear_count[1]=1000; //最後ボスが出現する時刻

胡椒

Re:龍神録で中ボスを出さずにボスのみ出す方法

#4

投稿記事 by 胡椒 » 15年前

すみません、ちょっと質問の意味が分からないというか・・・
まっささん自身が書いている通り、

//boss.appear_count[0]=500; //中ボスが出現する時刻
boss.appear_count[1]=1000; //最後ボスが出現する時刻

という風にすれば良いのではないのですか?

ただ、これだけだと弾幕を出す順番がめちゃくちゃになってしまうのでboss_shot.cppにあるvoid enter_boss関数のif(stage_count==boss.appear_count[0])の部分をif(stage_count==boss.appear_count[1])にすればよいと思うのですが・・・

また、memset(&boss,0,sizeof(boss_t));によってboss.danmaku_num[0]は0の値が入っているので、この部分も入れておく必要があると思います。

まっさ

Re:龍神録で中ボスを出さずにボスのみ出す方法

#5

投稿記事 by まっさ » 15年前

>memset(&boss,0,sizeof(boss_t));によってboss.danmaku_num[0]は0の値が入っているので、この部分も入れておく
boss.danmaku_num[0]のみ1を入れる方法はないのでしょうか?

胡椒

Re:龍神録で中ボスを出さずにボスのみ出す方法

#6

投稿記事 by 胡椒 » 15年前

ただ単にboss.danmaku_num[0]=1とすればよいのでは?

まっさ

Re:龍神録で中ボスを出さずにボスのみ出す方法

#7

投稿記事 by まっさ » 15年前

すみません。間違えました。

boss.appear_count[0]に1を入れる方法はないのでしょうか?
boss.appear_count[0]の中に1の値を入れるのではなく、
初期化の時に
boss.appear_count[0]の[0]の値を1をいれてboss.appear_count[1]にする方法を
教えていただきたいのですが…

Dixq (管理人)

Re:龍神録で中ボスを出さずにボスのみ出す方法

#8

投稿記事 by Dixq (管理人) » 15年前

中ボスを出さなくするんじゃなくて、中ボスをラスボスとすればいいのではないでしょうか?
そうすれば中ボスを倒した時点でゲームを終了すれば良いだけになりそうです。
中ボス、ラスボスといっても、現コードでは同じ敵が出てくるだけなので。

胡椒

Re:龍神録で中ボスを出さずにボスのみ出す方法

#9

投稿記事 by 胡椒 » 15年前

まっささんは何か勘違いをしていませんか?
>boss.appear_count[0]の[0]の値を1をいれてboss.appear_count[1]にする方法
これは変数を変数に変えると言う行為です。
memset(&boss,0,sizeof(boss_t));によってboss.danmaku_num[0]だけでなくboss.danmaku_num[1]の値にも0が入っています。

おそらく、まっささんは、龍神録のボスの出現の流れを

boss.danmaku_num[0]に数字を代入する
       ↓
カウントがboss.danmaku_num[0]と一致したら中ボス出現
       ↓
    中ボスを倒す
       ↓
boss.danmaku_num[0]がboss.danmaku_num[1]に代わる   ← この処理は存在しない
       ↓
カウントがboss.danmaku_num[1]と一致したらボス出現
       ↓
     ボスを倒す
       
という風に理解していませんか?
もしそうだとしたら、この流れは違います。

本当の流れは
memset(&boss,0,sizeof(boss_t));でboss.danmaku_num[0]とboss.danmaku_num[1]に0を代入する

boss.danmaku_num[0]とboss.danmaku_num[1]に数字を代入する
       ↓
カウントがboss.danmaku_num[0]と一致したら中ボス出現
       ↓
    中ボスを倒す
       ↓
カウントがboss.danmaku_num[1]と一致したらボス出現
       ↓
     ボスを倒す

です。
もし、本当に聞きたいことと違うことだったらすみません 

まっさ

Re:龍神録で中ボスを出さずにボスのみ出す方法

#10

投稿記事 by まっさ » 15年前

初めはそうしようと思ったのですが、
stage_count==boss.appear_count[0]){ 中ボスならばこうする
stage_count==boss.appear_count[1]){ ボスならばこうする
という処理を面ごと、さらに複雑に沢山色々な箇所に処理を書いてしまって
全てを修正するということになってしまい、とても困ったことになってしまうのです。
一番簡単な方法として、
その中ボスは出現しなく、ボスしか出ない面の時、初期化する箇所で
boss.appear_count[0]を飛ばしてboss.appear_count[1]を
組み込むプログラムがあればいいなと思ったのですが・・

やはり、いきなり中ボスをラスボスにするしか方法はないのでしょうか…?
出来れば中ボスを飛ばしてラスボスを出現させる方法が知りたいのですが…

まっさ

Re:龍神録で中ボスを出さずにボスのみ出す方法

#11

投稿記事 by まっさ » 15年前

>胡椒さん
あ…まさしくおっしゃる通りに思ってました。

閉鎖

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