HOME > 対人シミュレーター > title - 【対人BSML】第4回:2から5へ

【対人BSML】第4回:2から5へ

前回は、敵味方2機ずつに分かれて、スピードが大きい順に攻撃、攻撃対象は乱数で決定、敵味方どちらかが全滅したら終了するところまでの動作を確認しました。

1)2対2から5対5へ
一応、5対5でも動作することを想定して作ったので、早速入力シートを変更して5対5バトルを実行してみました。

すると、エラーにより停止。VBAではプログラムのどの部分で停止したのか分かるようになっていますが、ちょっと見た感じではどこが間違っているのか分かりません。

初心者用のプログラム制作に関する参考書に書いてあったのですが、プログラムを作って、1回で想定どおりに動くことは無いと思った方が良いとのこと(まぁ、当然でしょう)。という訳で、デバッグをやらなくてはいけません。

プログラムを1行ずつ実行したり変数の動きを追いかけたりしてみたのですが、よく分からず一旦作業中断。

数日後、3対3、4対4と機体数を増やしてみてどこでエラーが発生するか調べることにしました。すると、3対3の段階で、エラーなく動作したのですが、Enemy側が全滅していないのにバトルが終了することが判明。結果、終了条件が間違っていて、修正後5対5でも想定どおりに動作することを確認できました。

本来ならエラーが発生した原因を追求するべきなのでしょうが、問題なく動作しているようなので、先に進むことにします。

2)距離適性と配置、攻撃範囲
ここまでは攻撃する相手は単純に乱数を用いて、要するにランダムに選んでいるのですが、GAWユーザーがご存知の通り、機体の距離適性と配置に応じて、(遠距離以外では)攻撃できる範囲が限られます。

まとめると、単発・多段攻撃かつ相手の挑発・囮系が発動していない場合は、

・格闘、近距離は前衛のみ配置可能、攻撃範囲は相手の前衛のみ。
・中距離、MAは前衛に配置された場合のみ、全ての相手に攻撃できる。後衛に配置された場合、攻撃範囲は相手の前衛に限られる。
・遠距離は、後衛のみ配置可能、全ての相手に攻撃できる。

下は機体をデッキに配置した例です。
第4回編成例

この例では中距離機(パーフェクトジオング)は全ての相手に攻撃できますが、MA(ドッゴーラ)は前衛のみ攻撃できます。

以上のルール、単純なようで難しそうですが、これらを実装していきます。

第5回に続く

[目次はこちら]

テーマ : 機動戦士ガンダム
ジャンル : ゲーム

コメントの投稿

非公開コメント

最新記事
MENU
プロフィール

Ryu^ko

Author:Ryu^ko
ガンダム好きな中年戦士で、日々ガンダムエリアウォーズ(GAW)での戦いに明け暮れております。

【性 別】男性
【職 業】会社員
【居住地】兵庫県
【趣 味】GAW、ゴルフ

検索フォーム
RSSリンクの表示
リンク
現在の閲覧者数: