戦争 - 武将ユニットの状態武将ユニットの混乱・大混乱・挑発状態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」などを参照してください。 |