SLGBaseで戦術級シミュレーションゲームを作ってみる
9.攻撃処理
最終更新:
slgbase
-
view
いよいよSLGの華、攻撃処理・・・ですが内容はひたすら地味です。 派手な部分である爆発なりエフェクトなりはあなたがお好みのものを自分で作らなければなりません。
SLGBaseの攻撃クラスであるIAttackインターフェースでは、さまざまなユーザ定義攻撃に共通する処理、 ・攻撃範囲 ・攻撃影響範囲(範囲攻撃のような) ・指定位置に攻撃可能かどうか ・攻撃するとどうなるか をまとめたもので、このインターフェースを継承して作成した各攻撃クラスを使用することで、 ユーザ操作の攻撃とCPU操作の戦術評価の両方に対応します。
9-1.攻撃処理の内容
9-2.攻撃クラスの実装
Unit.Attacks.Add()まで
CanDoIt()
暗黙的に、AttackRangeのどれかが渡されることが期待されています。
暗黙的に、AttackRangeのどれかが渡されることが期待されています。
9-3.ユニットへの設定
各ユニットに攻撃クラスを設定します。
また、HPも同時に実装します。
また、HPも同時に実装します。
9-4.UIの作成
攻撃可能範囲及び攻撃影響範囲の表示を実装します。
ユニットの操作モードを追加し、
ユニット選択→移動先選択→攻撃方法/待機選択→攻撃対象選択→攻撃処理
を行えるようにします。
ユニットの操作モードを追加し、
ユニット選択→移動先選択→攻撃方法/待機選択→攻撃対象選択→攻撃処理
を行えるようにします。
9-5.実行結果とここまでのプロジェクト
移動後の攻撃方法選択
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (攻撃選択.jpg)
選択した攻撃の攻撃範囲
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (攻撃範囲.jpg)
ターンが実装されていないので、繰り返し何度でも攻撃できます。
結果として敵ユニットのHPが0になるととりあえずメッセージを表示します。
結果として敵ユニットのHPが0になるととりあえずメッセージを表示します。
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (撃破.jpg)