最終更新日 2024-06-19

HD.version.SDK ~軍団~

軍団の概念

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

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

使用例①

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

軍団のプロパティの利用
void 天翔記クラス::On_戦略_軍団ターン変更時(int 軍団番号) {
  for each (auto g in 軍団->配列) {
    if (g->Is_プレイヤ麾下軍団) {
      g->金 = 30000;
      g->米 = 30000;
      g->行動力 = 200;
      g->鉄砲 = 2000;

      // その軍団麾下の武将達の兵士の総数
      デバッグ出力 << g->兵士 << endl;

      int iBushouID = g->軍団長_武将番号;
      if ( 0 <= iBushouID && iBushouID < (武将->配列->Count) ) {
        // 軍団長の名前
        デバッグ出力 << 武将->配列[iBushouID]->姓名 << endl;
      }
    }

  }
}

使用例②

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

軍団の任命番号
void 天翔記クラス::On_戦略_軍団ターン変更時(int 軍団番号) {

  for each (auto g in 軍団->配列) {
    if (g->Is_プレイヤ麾下軍団) {
      デバッグ出力 << g->任命番号 << endl;

      int iBushouID = g->軍団長_武将番号;
      if ( 0 <= iBushouID && iBushouID < (武将->配列->Count) ) {
        // 軍団長の名前
        デバッグ出力 << 武将->配列[iBushouID]->姓名 << endl;
      }
    }

  }

}

使用例③

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

織田信長の軍団の「麾下の武将」や「麾下の城」
void 天翔記クラス::On_戦略_軍団ターン変更時(int 軍団番号) {

  // 今ターンが切り替わった軍団番号の…
  if (0 <= 軍団番号 && 軍団番号 < (軍団->配列->Count) ) {

    // 軍団番号→1つの軍団の情報へ
    auto g = 軍団->配列[軍団番号];

    // 軍団長を求める
    int iLeaderBushouID = g->軍団長_武将番号;
    if (0 <= iLeaderBushouID && iLeaderBushouID < (武将->配列->Count) ) {

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

        auto blist = g->麾下武将番号リスト;
        デバッグ出力 << "織田信長麾下の武将リスト" << endl;
        for each (int iBushouID in blist) {
          デバッグ出力 << 武将->配列[iBushouID]->姓名 << endl;
        }

        auto clist = g->麾下城番号リスト;
        デバッグ出力 << "織田信長麾下の城リスト" << endl;
        for each (int iCastleID in clist) {
          デバッグ出力 << 城->配列[iCastleID]->城名称 << endl;
        }
      }
    }
  }

}

その他

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