私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇1694:
Re[10]:行動値システム [rien] 04/16 00:19

 └◇1696:Re[11]:行動値システム [moon] 04/16 22:04
  └◇1697:Re[12]:行動値システム [rien] 04/17 00:31<-last


1694● Re[10]:行動値システム[ rien ] 2009 04/16 00:19

> 1. 1回の戦闘を行いBダメージを受けて敗北した場合だと行動値が1回行動分減り体力が3減る
> 2. ダメージを受けない場合は体力は減らず、行動値のみ減る
> 以下の意味であっていますか?
>   1.は合計6の体力が減るということではなくダメージによる3だけ減り行動値も減る、ということ。
>   2.は1.で0ダメージの場合のため行動値だけ減る、ということ。
> そうすると両方とも行動値の改造を行った直後の動作のはずです。(ただし、引き分け時は除く。)

す、すみません・・・
そういえばそうでした・・戦闘においては以前の状態に戻せばよかったのですよね
お手数おかけしてすみません・・。

> 他に$result==0として判断している箇所がありましたらそこも確認する必要があります。
> これが見付からない場合はfight.pl内を$hpで検索して$result==0以外で$hpを減らしている箇所を探してみてください。
> それでも原因箇所が特定できない場合はsub fightの各所に「push(@msg, "(1)$hp");」((1)と書いた部分は適宜変更)を書いて動作させ、どこで余計な減少処理を行っているのかを特定してください。

ありがとうございます。
ファイトマネーのところで減っていたようです。
今は正常に動いています。ありがとうございました!

もう1つ追加の質問があるのですがよろしいでしょうか?
複数回探索の改造のことですが(マシマロさんだったかと思います
今の状態だとプルダウンで一番上が1回→一番下が探索回数最大値
となっているのですが、これをmoonさんのsosのように
一番上を全力で探索というようにしたいのですが、この場合はどう直せばいいのでしょうか??

何度もすみませんが、よろしくお願いします
スレッド一覧


1696● Re[11]:行動値システム[ moon ] 2009 04/16 22:04
> もう1つ追加の質問があるのですがよろしいでしょうか?
> 複数回探索の改造のことですが(マシマロさんだったかと思います
> 今の状態だとプルダウンで一番上が1回→一番下が探索回数最大値
> となっているのですが、これをmoonさんのsosのように
> 一番上を全力で探索というようにしたいのですが、この場合はどう直せばいいのでしょうか??
>
> 何度もすみませんが、よろしくお願いします

全力は体力-1回の探索で良いでしょうか?
おそらく以下のようにすれば良いと思います。
1. sub normal_actionの以下を変更します。
  $hpcheck = 2;
  print qq|<option value="1" SELECTED>1回\n|;
    ↓
  $hpcheck = 1;
  print qq|<option value="0" SELECTED>全力\n|;
2. sub find_item_sub_oriの「$f_max = $Fm{'t_max'};」の下に以下を追加します。
  $f_max = $hp - 1 if($f_max == 0);
3. ついでに、体力が1の時でも探索できてしまいそうなので「while ($t_max < $f_max){」の上に以下を追加しておいたほうが良いと思います。
  $f_max = $hp - 1 if($f_max >= $hp);
スレッド一覧


1697● Re[12]:行動値システム[ rien ] 2009 04/17 00:31

> 全力は体力-1回の探索で良いでしょうか?
> おそらく以下のようにすれば良いと思います。
> 1. sub normal_actionの以下を変更します。
>   $hpcheck = 2;
>   print qq|<option value="1" SELECTED>1回\n|;
>     ↓
>   $hpcheck = 1;
>   print qq|<option value="0" SELECTED>全力\n|;
> 2. sub find_item_sub_oriの「$f_max = $Fm{'t_max'};」の下に以下を追加します。
>   $f_max = $hp - 1 if($f_max == 0);
> 3. ついでに、体力が1の時でも探索できてしまいそうなので「while ($t_max < $f_max){」の上に以下を追加しておいたほうが良いと思います。
>   $f_max = $hp - 1 if($f_max >= $hp);

いつもありがとうございます。
おかげさまでうまく出来ました!
ありがとうございます。
分からないことばかりで、またお世話になると思いますが、よろしくお願いします。
スレッド一覧

CGIROOM