FC2ブログ
HOME > 対人シミュレーター > title - 【対人BSML】第3回:簡単なところから

【対人BSML】第3回:簡単なところから

前回は、対人シミュレーターを、ExcelVBAを使ってオブジェクト指向プログラミングでやってみよう、と決めたところまででした。正確にはそういうものを意識して作ってみよう、というくらいの意気込みです。

VBAにはクラスモジュール というものがあり、これを使えば良さそうなのですが、参考書がほとんどなくWeb検索が頼りです。

Webを見ているだけではシミュレーターのイメージが膨らまないので、とりあえず何でも良いので思いつくままにコードを書き始めました。ただし最初から複雑なことをやるとバグだらけで修正が大変なので、簡単なところからということで、

・敵味方2機ずつの編成
スキルは使用しない
・機体スピードは考慮する
・敵味方いずれかが全滅したら終了

このようなルールで動作するところまでを目指してやってみることにしました。

攻撃力、耐久力などの機体情報は、連合戦用シミュレーターと同様に表から読み込む方式としました。
データシート

あまり考えずに作ったので、多分作り直しになるでしょう…その辺は気にせず進みます。

その後書いては消し、の繰り返しでようやく出来ました。

【クラスモジュール 】
第3回クラスモジュール

これで良いのかさっぱり分かりませんが、動作はしているので間違ってはいないと思うことにして…ここにはMSの情報(機体名、攻撃力…)を書いています。一応Iフィールド破壊可能かも決めてあります。

また、MSにさせたい動作をとりあえず3つ(攻撃力をアップする、攻撃する、攻撃を受ける、スキル発動時の確率抽選のための乱数発生)書いています。多分いくらでも追加できるので、複雑な動作はおいおい考えるということで。

【メインプロシージャ(メインプログラム)の一部】
第3回メインプロシージャ

クラスモジュール を使ってみて、以前と比べると、プログラムも、そして私の頭の中もかなり整理できるようになったと思いますが、結局長ったらしくなってしまいました。もう好きにやります笑…

以前作った連合戦シミュレーターでは、Player5機 vs. Enemy1機だったのでターゲットの設定が簡単でしたが、2 vs. 2になっただけでプログラム的には一気に難しくなりました。

【イミディエイトウィンドウ】
第3回イミディエイト

プログラムの実行経過です。一応敵味方2機ずつに分かれて、スピードが大きい順に攻撃、攻撃対象は乱数で決定、敵味方どちらかが全滅したら終了するところまで動作しました。完成度1%ってところでしょうか…

とはいえ、まずは基本的なところから作りはじめ、大枠は出来たように思います。今後の見通しですが、様々な難関をクリアしなければなりません。思いつくところでは、

・攻撃対象の決定として、全体攻撃、前列全体、後列全体、ランダム多段、挑発…等々にどう対応するか。
・スキルの実装。様々なスキルをどう再現するか。また、次々と追加されるスキルに効率的に対応するシステムが組めるか(これはその都度対応になりそうな予感)。

GAWは多彩なスキルを使いこなすゲームなので、やはりスキルの実装で苦戦しそうですが…不定期で続きます。

第4回に続く

[目次はこちら]

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

コメントの投稿

非公開コメント

最新記事
MENU
プロフィール

Ryu^ko

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

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

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