最終更新日 2024-09-25

User.version.SDK ~軍団~

軍団の概念

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

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

使用例①

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

軍団のプロパティの利用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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の番号は「任命番号」というプロパティ名にしました。
軍団番号と混同しないように注意しましょう。

軍団の任命番号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void My_戦略_軍団ターン変更時(int 軍団番号)
{
    foreach (var g in 軍団.配列)
    {
        if (g.Is_プレイヤ麾下軍団)
        {
            デバッグ出力(g.任命番号);
 
            int iBushouID = g.軍団長_武将番号;
            if (武将.配列.Exists(iBushouID))
            {
                // 軍団長の名前
                デバッグ出力(武将.配列[iBushouID].姓名);
            }
        }
    }
}

使用例③

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

織田信長の軍団の「麾下の武将」や「麾下の城」
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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」を参照してみてください。