AS条件::メイン::大名後継者武将番号
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
if ( 条件名 == "AS条件::メイン::大名後継者武将番号" ) {
}
// 変更しない場合-1
return -1;
}
例①
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
if ( 条件名 == "AS条件::メイン::大名後継者武将番号" ) {
int 大名勢力DaimyoID = パラメタ.整数1-1;
int 死亡BushouID = パラメタ.整数2-1;
int 後継BushouID = パラメタ.整数3-1;
デバッグ出力 << "死亡武将(大名):" << Get_名字(死亡BushouID) << Get_名前(死亡BushouID) << endl;
デバッグ出力 << "後継予定武将(大名):" << Get_名字(後継BushouID) << Get_名前(後継BushouID) << endl;
}
// 変更しない場合-1
return -1;
}
例②
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
// 毛利元就が死んだ場合の第1後継者候補を、「小早川隆景」に変更する。
// (小早川隆景が後継条件を持たさなかった場合には、元々の天翔記アルゴリズムに従う)
if ( 条件名 == "AS条件::メイン::大名後継者武将番号" ) {
int 大名勢力DaimyoID = パラメタ.整数1-1;
int 死亡BushouID = パラメタ.整数2-1;
int 後継BushouID = パラメタ.整数3-1;
if ( 0 <= 死亡BushouID && 死亡BushouID < 最大数::武将情報::配列数 ) {
// 死亡した大名がプレイヤ担当以外の場合のみ、処理を行う
if ( ! Is_プレイヤ担当武将(死亡BushouID) ) {
string 死亡武将名 = Get_名字(死亡BushouID) + Get_名前(死亡BushouID);
// 死亡大名が「毛利元就」である。
if ( 死亡武将名 == "毛利元就" ) {
int 再変更BushouID = Get_武将番号【配列用】("小早川隆景");
// そいつは今、天翔記に居るか?(=ちゃんと名前から武将番号を逆引きできたか?)
if ( 0 <= 再変更BushouID && 再変更BushouID < 最大数::武将情報::配列数 ) {
// 死亡した者と、再変更武将は、同じ大名勢力家の武将か?
if ( p武将情報[死亡BushouID].所属大名【大名番号】 == p武将情報[再変更BushouID].所属大名【大名番号】 ) {
return 再変更BushouID + 1; // 武将番号【配列用】→武将番号 にして(要するに+1して) 値を返す。
}
}
}
}
}
}
// 変更しない場合-1
return -1;
}
例③
int カスタム::On_カスタム条件(string 条件名, カスタム条件パラメタ型 パラメタ) {
if ( 条件名 == "AS条件::大名後継者武将番号" ) {
int 大名勢力DaimyoID = パラメタ.整数1;
int 死亡BushouID = パラメタ.整数2-1;
int 後継BushouID = パラメタ.整数3-1;
if ( 0 <= 死亡BushouID && 死亡BushouID < 最大数::武将情報::配列数 ) {
// 死亡した大名がプレイヤ担当以外の場合のみ、処理を行う
if ( ! Is_プレイヤ担当武将(死亡BushouID) ) {
string 死亡武将名 = Get_名字(死亡BushouID) + Get_名前(死亡BushouID);
// 死亡大名が「毛利元就」である。
if ( 死亡武将名 == "毛利元就" ) {
int 再変更BushouID = Get_武将番号【配列用】("小早川隆景");
// そいつは今、天翔記に居るか?(=ちゃんと名前から武将番号を逆引きできたか?)
if ( 0 <= 再変更BushouID && 再変更BushouID < 最大数::武将情報::配列数 ) {
// 死亡した者と、再変更武将は、同じ大名勢力家の武将か?
if ( p武将情報[死亡BushouID].所属大名【大名番号】 == p武将情報[再変更BushouID].所属大名【大名番号】 ) {
return 再変更BushouID + 1; // 武将番号【配列用】→武将番号 にして(要するに+1して) 値を返す。
}
}
// "小早川隆景は後継者になりえなかったので、ここまで来た
再変更BushouID = Get_武将番号【配列用】("毛利隆元"); // 隆元はどうか?
// そいつは今、天翔記に居るか?(=ちゃんと名前から武将番号を逆引きできたか?)
if ( 0 <= 再変更BushouID && 再変更BushouID < 最大数::武将情報::配列数 ) {
// 死亡した者と、再変更武将は、同じ大名勢力家の武将か?
if ( p武将情報[死亡BushouID].所属大名【大名番号】 == p武将情報[再変更BushouID].所属大名【大名番号】 ) {
return 再変更BushouID + 1; // 武将番号【配列用】→武将番号 にして(要するに+1して) 値を返す。
}
}
}
else if ( 死亡武将名 == "織田信長" ) {
int 再変更BushouID = Get_武将番号【配列用】(顔番号::羽柴秀吉); // 顔番号5番の武将から「武将番号【配列用】」を逆引きする。顔番号5番は、「秀吉」の顔。
// そいつは今、天翔記に居るか?(=ちゃんと顔番号から武将番号を逆引きできたか?)
if ( 0 <= 再変更BushouID && 再変更BushouID < 最大数::武将情報::配列数 ) {
// 死亡した者と、再変更武将は、同じ大名勢力家の武将か?
if ( p武将情報[死亡BushouID].所属大名【大名番号】 == p武将情報[再変更BushouID].所属大名【大名番号】 ) {
return 再変更BushouID + 1; // 武将番号【配列用】→武将番号 にして(要するに+1して) 値を返す。
}
}
}
}
}
}
// 変更しない場合-1
return -1;
}