|
きぢゅか_tri |
07/01/29 22:33 |
調子にのって 二つ目いきますよー
その2 「IBアタックのAI デキター、でも敵にIBをディフェンスされたらアウトだな」
・・・・・ とくにクマですな、中級Dで一匹クマ担当できたら楽だよなー
とかおもってAI 作ってるのにこれでは、ディフェンスされたら3打確定です・・・
IBカウンタのルールでも クマ相手なら、IBディフェンスされてからでは
絶対にカウンタは間に合いません。 ディフェンスされたのかどうかで
処理を変える方法は必須です。
さて、イベントに「敵に攻撃をディフェンスされた」 というのがあれば話が早いの
ですが、ないので他のもので代用するしかありません。
私は、「ペットが相手を攻撃する」 イベントにおいての敵の状態別に行動を
決定することでこの問題を解決しました。
IBがヒットしたとき敵がディフェンス状態ではないのなら、IBをくらった
影響がでているはずなので、
「ペットがアイスボルトで攻撃する。 ダウン可否:ダウンしない」
のイベントの時に敵の状態は、
「相手の状態がやられて飛ばされ中の場合」
OR 「相手の状態がやられて後退中の場合」
OR 「相手の状態がやられて硬直中の場合」
のどれかに該当するはずです。 実際には、「硬直中」のみになるでしょう。
反対にディフェンス中であれば、上記以外の場合とみなしても問題なさそうです。
これに基づいて二つのルールを追加しました。
一つはIBが直撃したときのルール、もう一つは 無条件に実行されるルールです。
ルール評価機は、ルールリストの上から順に適合するルールを探し、
適合するものを見つけたら探すのをやめるという動作をしているようです。
このことを利用して、プログラミング言語でいうところの IF - ELSE の処理を
つくることができます。 (AIソース参照)
IFブロックに該当するのがIBが直撃したときのルール、
ELSEブロックは無条件に実行されるルールです。
しかし、IBの間合いから余裕でアタックにいける ミニクマとか褐色キツネって
まじ反則だよな・・・・・