最終更新日 2024-06-19

User.version.SDK ~軍団~

軍団の概念

軍団と一言で言っても3つの概念で構成されます。

ここでは、よく利用するパターンをピックアップして解説します。

使用例①

軍団の代表的なプロパティの制御は以下のようなものでしょう。

軍団のプロパティの利用
    public static void My_戦略_軍団ターン変更時(int 軍団番号)
    {
        foreach (var g in 軍団.配列)
        {
            if (g.Is_プレイヤ麾下軍団)
            {
                g.金 = 30000;
                g.米 = 30000;
                g.行動力 = 200;
                g.鉄砲 = 2000;

                // その軍団麾下の武将達の兵士の総数
                デバッグ出力(g.兵士);

                int iBushouID = g.軍団長_武将番号;
                if (武将.配列.Exists(iBushouID))
                {
                    // 軍団長の名前
                    デバッグ出力(武将.配列[iBushouID].姓名);
                }
            }
        }
    }

使用例②

軍団に割り当てられている1~8の番号は「任命番号」というプロパティ名にしました。
軍団番号と混同しないように注意しましょう。

軍団の任命番号
    public static void My_戦略_軍団ターン変更時(int 軍団番号)
    {
        foreach (var g in 軍団.配列)
        {
            if (g.Is_プレイヤ麾下軍団)
            {
                デバッグ出力(g.任命番号);

                int iBushouID = g.軍団長_武将番号;
                if (武将.配列.Exists(iBushouID))
                {
                    // 軍団長の名前
                    デバッグ出力(武将.配列[iBushouID].姓名);
                }
            }
        }
    }

使用例③

軍団に所属する麾下の武将の一覧や、同じく軍団支配下にある城の一覧などを
得たい場合もあることでしょう。
「武将.配列.所属軍団番号」や「城.配列.所属軍団番号」と比較しながら、
1つずつ回収しても良いですが、専用のプロパティが軍団側にも用意されています。

織田信長の軍団の「麾下の武将」や「麾下の城」
    public static void My_戦略_軍団ターン変更時(int 軍団番号)
    {
        // 今ターンが切り替わった軍団番号の…
        if (軍団.配列.Exists(軍団番号))
        {

            // 軍団番号→1つの軍団の情報へ
            var g = 軍団.配列[軍団番号];

            // 軍団長を求める
            int iLeaderBushouID = g.軍団長_武将番号;
            if (武将.配列.Exists(iLeaderBushouID))
            {

                // 軍団長が織田信長の列伝番号の人だ
                if (武将.配列[iLeaderBushouID].列伝番号 == 列挙.武将.列伝番号.織田信長)
                {

                    var blist = g.麾下武将番号リスト;
                    デバッグ出力("織田信長麾下の武将リスト");
                    foreach (int iBushouID in blist)
                    {
                        デバッグ出力(武将.配列[iBushouID].姓名);
                    }

                    var clist = g.麾下城番号リスト;
                    デバッグ出力("織田信長麾下の城リスト");
                    foreach (int iCastleID in clist)
                    {
                        デバッグ出力(城.配列[iCastleID].城名称);
                    }
                }
            }
        }
    }

その他

軍団について、主な解説は以上となります。
軍団関連には他にもプロパティやメソッドがあります。
詳しくはHD.version.SDKソース内の「軍団.h」を参照してみてください。