最終更新日 2024-09-25

User.version.SDK ~語句変化~

語句変化の概念

語句変化とは、不定な人物同士の会話メッセージを作成する際に、
「自分・相手」の呼称や、語尾変化等をサポートするAPIです。

後述のソース中の、第1人称武将番号, 第2人称武将番号 を、様々な武将で試し、
一体どのような概念なのか理解して使いましょう。

男性・女性、上司・部下、年寄と若君主、様々な職業など、考慮されたメッセージへと語句が変化します。

使用例①

ほとんどの使用シーンは、「My_噴出メッセージ直前
にて、すりかえるメッセージを作る際に利用されます。

デフォルトの会見のメッセージを、語句変化を伴ってすり替える
    public static string My_噴出メッセージ直前(string 元メッセージ, 噴出メッセージパラメタ型 パラメタ)
    {
        int 第1人称_武将番号 = パラメタ.第1人称_武将番号;
        int 第2人称_武将番号 = パラメタ.第2人称_武将番号;
        Random r = new Random();
        if (武将.配列.Exists(第1人称_武将番号) && 武将.配列.Exists(第2人称_武将番号))
        {

            // 会見のメッセージのひとつ
            if (Regex.Match(元メッセージ, "^何をするか|^はて…\xAこれから").Success)
            {
                噴出メッセージパラメタ型 humans = new 噴出メッセージパラメタ型(第1人称_武将番号, 第2人称_武将番号);
                int rnd = r.Next() % 3;
                if (rnd == 0)
                {
                    string mes = 語句変化.相手(humans) +"、商人に\x0A" + "米を売" + 語句変化.りましょう(humans);

                    return mes;
                }
                else if (rnd == 1)
                {
                    string mes = 語句変化.ははは(humans) +"、" + 語句変化.相手(humans) +"\x0A" + "一度の失敗では\x0A" + "懲りぬよう" + 語句変化.です(humans) + 語句変化.な_2(humans);

                    return mes;
                }
                else if (rnd == 2)
                {

                    string mes = "おのれ、" + 語句変化.罵倒相手(humans) +"\x0A" + "覚えておれ!";

                    return mes;
                }
            }

        }

        return "";
    }

第1人称と第2人称の「性格」「口調」「人間関係」などを全て含んで、
言葉遣いが変化していることが確認できるかと思います。
相手が居ないような独り言に近いメッセージをしゃべらせたい場合は、
第2人称として、第1人称と同じ値を渡すと、
概ねは妥当な語句変化になるハズです。

その他

語句変化関連には非常に多数のメソッドがあります。
詳しくはHD.version.SDKソース内の「語句変化.h」を参照してみてください。

また、語句変化については、「どういった関係性」で「どういう変化なのか?」の
具体的な実装の確認をしたい場合などもあるかと思います。
そういった裏方事情を知りたい場合は、「語句変化.cpp」を見て確認してください。

語句変化について、主な解説は以上となります。