void カスタム::On_相場変更直前()

void カスタム::On_相場変更直前() {
}
  • タイミング

    • 一季節に1回、相場が変更される直前のタイミングで呼び出される。


  • 一般的用途

    • 通常は、相場の値を変更する用途として、利用する。
    • このメソッドはセーブやロードによって何度も実行される、といったことがなく、
      ゲームを通して必ず「1季節ごとに1回だけ」実行される。
      よって、「1季節の最初に必ずやっておきたい処理」を記述するのに非常に向いている。
  • 例①

    void カスタム::On_相場変更直前() {
      // 夏だけは以下の相場にする。
      if ( p年情報.季節 == 季節::夏 ) {
        Set_米相場(8);  // 天翔記表示上は0.8のこと
        Set_鉄砲相場(30); // 鉄砲相場を30にする。
        Set_馬相場(10); // 馬相場を10に設定する。
        Set_兵相場(15); // 兵相場を15に設定する。
      }
    }
    
  • 例②

    void カスタム::On_相場変更直前() {
      // 春になると、全ての軍団に金が10000配られる
      if ( p年情報.季節 == 季節::春 ) {
    
        // 全ての軍団に対して
        for ( int iGundanID=0; iGundanID < 最大数::軍団情報::配列数; iGundanID++ ) {
    
          // 軍団長の武将IDを求める。
          int iLeaderBushouID = p軍団情報[iGundanID].軍団長【武将番号】-1;
    
          // ちゃんと軍団長がいるならば… 有効な軍団。
          if ( 0 <= iLeaderBushouID && iLeaderBushouID < 最大数::武将情報::配列数 ) {
    
            // そこに60000を超えない範囲で金を配る。
            int Gold = p軍団情報[iGundanID].金; // WORD型→int型にして容易にオーバーフローしてしまうのを対処
            Gold += 10000;
            if ( Gold > 60000 ) {
              Gold = 60000;
            }
            p軍団情報[iGundanID].金 = Gold;
          }
        }
      }
    }