int Get_武将混乱状態(int 武将番号【配列用】)
bool Set_武将混乱状態(int 武将番号【配列用】, int 混乱状態)
void 武将ユニット状態描画更新《戦争画面》(int 武将番号【配列用】)
混乱状態::無し、混乱状態::混乱、混乱状態::大混乱、混乱状態::挑発混乱 を比較や設定に利用できる
void カスタム::On_残りターン変更《戦争画面》(int 残りターン数) { 番号リスト型 list = Get_出陣中の武将番号リスト【配列用】《表示中マップ》(); for (int iBushouID : list) { if (Get_武将混乱状態(iBushouID) == 混乱状態::無し) { Set_武将混乱状態(iBushouID, 混乱状態::大混乱); 武将ユニット状態描画更新《戦争画面》(iBushouID); } else if (Get_武将混乱状態(iBushouID) == 混乱状態::混乱) { Set_武将混乱状態(iBushouID, 混乱状態::大混乱); 武将ユニット状態描画更新《戦争画面》(iBushouID); } else if (Get_武将混乱状態(iBushouID) == 混乱状態::大混乱) { Set_武将混乱状態(iBushouID, 混乱状態::挑発混乱); 武将ユニット状態描画更新《戦争画面》(iBushouID); } else if (Get_武将混乱状態(iBushouID) == 混乱状態::挑発混乱) { Set_武将混乱状態(iBushouID, 混乱状態::無し); 武将ユニット状態描画更新《戦争画面》(iBushouID); } } }
該当の野戦ターン(あるいは攻城戦ターン)ですでに対象の武将ユニットが行動済みかどうかを判定します。
bool Is_武将行動済《戦争画面》(int 武将番号【配列用】)
void カスタム::On_残りターン変更《戦争画面》(int 残りターン数) { // 表示中マップと、表示されてないマップも含めて出陣中の武将のリストを得る 番号リスト型 list = Get_出陣中の武将番号リスト【配列用】(); for (int iBushouID : list) { if (Is_武将行動済《戦争画面》(iBushouID)) { デバッグ出力 << Get_名字(iBushouID) + Get_名前(iBushouID) << "は行動済みであり、次のターンまで行動できません" << endl; } } } void カスタム::On_戦闘コマンド表示直前《戦争画面》(int 武将番号) { // 表示中マップでの出陣中の武将のリストを得る 番号リスト型 list = Get_出陣中の武将番号リスト【配列用】《表示中マップ》(); for (int iBushouID : list) { if (Is_武将行動済《戦争画面》(iBushouID)) { デバッグ出力 << Get_名字(iBushouID) + Get_名前(iBushouID) << "は行動済みであり、次のターンまで行動できません" << endl; } } }
「戦争 - 武将ユニットの状態」に関する主な所は以上となります。 詳しくは「戦場情報型.h」「武将情報型.h」などを参照してください。