コミュニケート¶
別のゴーストと会話する機能です。
話しかけられたとき(OnCommunicate)¶
OnCommunicate は、Reference0 が相手の名前、Reference1 が話しかけの内容です(user はユーザーで、ユーザ に読み替えられます)。
里々は、相手の名前「話しかけの内容」 を作り、その文字列に合う文を探して実行します。
文の名前の付け方¶
文の名前を、タブか全角空白で区切って複数の語にします。語の最後が 「 のものが、相手の名前です。
*さくら「 こんにちは おはよう
:こんにちは。
この文は、相手が「さくら」のとき、話しかけの内容に「こんにちは」か「おはよう」が含まれていると候補になります。相手の名前を特定しない文は、名前に 「 の語を持たない文です。
探し方¶
- 相手の名前がわかっている(
「を含む)ときは、その名前の文だけを対象にします。名前が「だけの文は、どの相手にも当たります。 - 一致した語には点数がつきます。一致しない語があると減点され、一定の点数を超えたものが候補です。最高点の候補が複数あれば、その中から 1 つを選びます。
- $コミュニケートの検索方法で
合計文字数にすると、一致した語の文字数の合計で点数をつけます。 - 見つからなかったときは
*COMMUNICATE該当なしを実行します。
話しかけるとき¶
文の 1 行目を → で始めると、相手のゴーストに話しかけます。
*OnTalk
→さくら「こんにちは」
→のあとに、隣で起動しているゴーストの名前を書くと、その相手を指定します。書かなかったとき、または見つからなかったときは、隣で起動している最初のゴーストです。- 応答に
To・Reference0として相手の名前を付けます。
ループの打ち切り¶
会話が繰り返されるのを防ぐため、次のときは会話を打ち切ります。
- 辞書に、続行の指示(
→)がない。 - 自分が返す文が、過去の会話ですでに返したものと同じ。
- 相手の話しかけの内容が、過去にすでに現れた。
≫ と ≧¶
文の中から、別のコミュニケート用の文へジャンプします(制御構造)。