最終更新日 2024-09-25

地域 - 国

「地域 - 国」とは、日本国の意味ではなく、「大和、丹波、北信濃、備中」などといった、地域のことです。
天翔記上では、「国」という言葉が使われていますが、日本国と紛らわしいため
地域という表現にしています。

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

特定の地域に所属する城のリストを得る

地域使い方は主に2つしかありません。
ひとつは、特定の地域に含まれている城のリストを求める方法です。
地域→城を求めるものとなります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
void カスタム::On_プレイヤ担当ターン《メイン画面》() {
    auto obj北信濃国 = p地域情報[地域::地域配列番号::北信濃];
    番号リスト型 list;
    if (obj北信濃国.地域内の城1【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城1【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城2【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城2【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城3【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城3【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城4【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城4【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城5【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城5【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城6【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城6【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城7【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城7【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
    if (obj北信濃国.地域内の城8【城番号】 != 0xFFFF) {
        int iCastleID = obj北信濃国.地域内の城8【城番号】 - 1; // 城番号→城番号【配列用】
        list.push_back(iCastleID);
    }
 
    デバッグ出力 << "北信濃国に属する城" << endl;
    for (int iCastleID : list) {
        デバッグ出力 << Get_城名(iCastleID) + Get_城称(iCastleID) << endl;
 
    }
}

城が所属する地域を求める

もう一つは、逆の流れで城→国を求めるものです。

1
2
3
4
5
6
7
8
9
10
void カスタム::On_プレイヤ担当ターン《メイン画面》() {
 
    int iCastleID = 城配列番号::室町御所;
 
    // その室町御所が所属している地域
    int iChiikiID = p城付加情報[iCastleID].所属地域【地域番号】 - 1; // 地域番号→地域番号【配列用】
    デバッグ出力 << "室町御所は" << Get_地域名(iChiikiID) << "国にあります" << endl;
 
}
        
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void カスタム::On_プレイヤ担当ターン《メイン画面》() {
 
    int i武田信玄BushouID = Get_武将番号【配列用】(顔番号::武田晴信);
 
    if (0 <= i武田信玄BushouID && i武田信玄BushouID < 最大数::武将情報::配列数) {
 
        // 武田信玄が所属している城
        int iCastleID = p武将情報[i武田信玄BushouID].所属居城【城番号】 - 1;
 
        if (0 <= iCastleID && iCastleID < 最大数::城情報::配列数) {
 
            // その城が所属している地域
            int iChiikiID = p城付加情報[iCastleID].所属地域【地域番号】-1;
 
            デバッグ出力 << Get_名字(i武田信玄BushouID) + Get_名前(i武田信玄BushouID) << "は..." << endl;
            デバッグ出力 << Get_地域名(iChiikiID) << "国の地方に居ます" << endl;
 
        }
    }
}
        

より詳細を知るには...

「地域 - 国」に関する主な所は以上となります。
詳しくは「地域情報型.h」や、「城情報型.h」内の「城付加情報型」などを参照してください。