10 段目:覚えていてほしい
物覚えのよい子に育てるには、どうしたものかしら……。いまのあの子たちには、昨日のことを覚えておく術がありませんのよ。
お嬢様は、私が 3 年前に割った茶器のことを、いまも覚えておいででございますが。
フンッ、あれは一番のお気に入りでしたもの。今日は、あの子たちにも、消えない記憶を授けますわよ。
叶えたいこと
この章で叶えるのは「終了しても、覚えている」ですわ。ある話を何回したかをあの子たちに数えさせて、ゴーストを終了しても、続きから数えられるようにしますの。足す辞書は、今回も 1 枚ですわ。
- この章で足すファイル:
ghost/master/dic/10-save.pasta - 叶うこと: 暇なときのおしゃべりで、女の子が、その話をするのが何回目かを話す。ゴーストを終了して起動し直しても、数は続きから増える
新しく覚える表現
終了しても値が残る変数
変数には、6 段目でもうお会いしていますわね。$ で始まる名前のことですの。今回は、$ のすぐ後ろに * を付けますわ。たったそれだけで、ゴーストを終了しても値が残る変数になりますのよ。
*会話
$*回数=$*回数+1
女の子:@キラキラ この話をするのは$*回数 回目だよ!
男の子:@困惑 ……ずっと数えてたの?
$で始まる名前は変数である(6 段目)$*名前— ゴーストを終了しても値が残る変数である。$のすぐ後ろに*を付けて書く。この変数を、グローバル変数と呼ぶ$*回数—回数という名前のグローバル変数である- グローバル変数の値は、ゴーストを終了しても保存されて、次に起動したときに元に戻る
- 6 段目の
$時12は、pasta が値を入れる変数だった。$*回数は、辞書の中で値を入れる変数である - 台詞の中に
$*回数と書くと、その場所に変数の値が入る。変数の後ろには空白を置いて、続く台詞と区切る。6 段目の$時12と同じである
値を 1 つ増やす
変数に値を入れるには、変数の後ろに = を書いて、入れたい値を続けますの。この章では $*回数+1 と続けましたわ。「いまの値に 1 を足して、入れ直す」という意味ですのよ。
$*回数=$*回数+1
$*名前=値— 変数に値を入れる行である。行の頭を字下げして、シーンの中に書く。変数に値を入れることを、代入と呼ぶ=の左に値を入れる変数を、右に入れる値を書く$*回数+1—$*回数のいまの値に 1 を足した値である$*回数=$*回数+1—$*回数のいまの値に 1 を足して、$*回数に入れ直す。この行が実行されるたびに、$*回数は 1 つ増える- この章の辞書は、この行を
*会話の最初の行に書いている。この会話が選ばれるたびに、数が 1 つ増える
お嬢様、初めてこの話をいたしますとき、$*回数 にはまだ何も入っておりませんが。
よいところに気がつきましたわね。まだ何も入れていない変数は、計算では 0 とみなされますの。ですから、初めては 0 に 1 を足して、1 になりますわ。
- まだ値を入れていない変数は、計算(算術)では 0 とみなされる
- 初めてこの行が実行されるとき、
$*回数+1は 0 に 1 を足した 1 になる - この章の辞書には、先に 0 を入れておく行が無い。それでも、初めての数は 1 になる
$*回数の値と女の子の台詞は、次の表のとおりに進む
| この会話が選ばれた回 | 足す前の $*回数 | 足した後の $*回数 | 女の子の台詞 |
|---|---|---|---|
| 1 回目 | まだ値が入っていない(0 とみなされる) | 1 | この話をするのは1回目だよ! |
| 2 回目 | 1 | 2 | この話をするのは2回目だよ! |
| 3 回目 | 2 | 3 | この話をするのは3回目だよ! |
- 途中でゴーストを終了して起動し直しても、数は表の続きから増える
辞書ファイルを足す
ghost/master/dic/10-save.pasta を作り、次の内容を UTF-8 で保存する。
# 10 段目:覚えていてほしい
# $*名前 は、ゴーストを終了しても値が残る変数(グローバル変数)。
# $*回数=$*回数+1 は、いまの値に 1 を足して入れ直す。まだ何も入れていない変数は計算では 0 とみなされるので、初めては 1 になる。
# この会話が選ばれるたびに数が 1 つ増える。ゴーストを終了して起動し直しても、数は続きから増えていく。
*会話
$*回数=$*回数+1
女の子:@キラキラ この話をするのは$*回数 回目だよ!
男の子:@困惑 ……ずっと数えてたの?
- 1〜9 段目のファイルは書き換えない。新しいファイルを
dic/に足すだけで、この段になる - このシーンの名前は
会話である。2 段目からのおしゃべりの 1 つとして、暇なときに出る - 値を保存するための行は、この辞書には無い。グローバル変数に入れた値は、ゴーストを終了しても保存される
- 台詞の頭の
@キラキラ・@困惑は、3 段目で付けた表情名である
起動して確かめる
ここは、少々根気が要りますわ……。この話が出るまで待って、数を控えて、いちど SSP を終了しますの。もう一度起動して、続きの数が出れば、あの子たちはちゃんと覚えていますわ。
- SSP を終了し、もう一度起動する。
- 自分のゴーストが出ていなければ、メニューから切り替える。
- そのまま待ち、この章の掛け合いが出たら、女の子が話した数を控える。
- SSP を終了し、もう一度起動する。
- そのまま待ち、この章の掛け合いがもう一度出たら、女の子が話した数を見る。
- 成功の目印(手順 3): 女の子の吹き出しに「この話をするのは1回目だよ!」と出て、続いて男の子の吹き出しに「……ずっと数えてたの?」と出る
- 成功の目印(手順 5): 女の子が話す数が、手順 3 で控えた数より 1 つ大きい。手順 3 が「1回目」なら、「この話をするのは2回目だよ!」と出る

- 起動し直した後の数が「1回目」に戻っていなければ、
$*回数の値は、終了しても残っている - 手順 3 で待っているあいだに、この章の掛け合いが 2 回出たときは、数は「2回目」になっている。最後に見た数を控える
会話という名前のシーンは、この章の 1 つを足して 9 つになった。9 回のおしゃべりで、9 つの掛け合いが 1 回ずつ出る。出る順は決まっていない- おしゃべりの間隔は、2 段目で
pasta.tomlに書き足した 45〜75 秒である。9 回見るには 7〜11 分ほどかかる - 待つ時間を縮めたいときは、
[ghost]の 2 つの値を小さくして、SSP を終了し、もう一度起動する
もっと詳しく
閉じても、また開いても、数は続きから。ささやかな記憶でも、あるとないとでは大ちがいですわ。
では、お嬢様がお茶菓子をつまみ食いなさった回数も、あの子たちに数えさせましょう。
か、数えなくてよろしいですわ、そんなもの! 次は、ひとつの話を先へ続けたり、行き先を変えたりしてみせますわよ。