Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 回目12この話をするのは2回目だよ!
3 回目23この話をするのは3回目だよ!
  • 途中でゴーストを終了して起動し直しても、数は表の続きから増える

辞書ファイルを足す

ghost/master/dic/10-save.pasta を作り、次の内容を UTF-8 で保存する。

# 10 段目:覚えていてほしい
# $*名前 は、ゴーストを終了しても値が残る変数(グローバル変数)。
# $*回数=$*回数+1 は、いまの値に 1 を足して入れ直す。まだ何も入れていない変数は計算では 0 とみなされるので、初めては 1 になる。
# この会話が選ばれるたびに数が 1 つ増える。ゴーストを終了して起動し直しても、数は続きから増えていく。

*会話
 $*回数=$*回数+1
 女の子:@キラキラ この話をするのは$*回数 回目だよ!
 男の子:@困惑 ……ずっと数えてたの?
  • 1〜9 段目のファイルは書き換えない。新しいファイルを dic/ に足すだけで、この段になる
  • このシーンの名前は 会話 である。2 段目からのおしゃべりの 1 つとして、暇なときに出る
  • 値を保存するための行は、この辞書には無い。グローバル変数に入れた値は、ゴーストを終了しても保存される
  • 台詞の頭の @キラキラ・@困惑 は、3 段目で付けた表情名である

起動して確かめる

クローディア(不安)

ここは、少々根気が要りますわ……。この話が出るまで待って、数を控えて、いちど SSP を終了しますの。もう一度起動して、続きの数が出れば、あの子たちはちゃんと覚えていますわ。

  1. SSP を終了し、もう一度起動する。
  2. 自分のゴーストが出ていなければ、メニューから切り替える。
  3. そのまま待ち、この章の掛け合いが出たら、女の子が話した数を控える。
  4. SSP を終了し、もう一度起動する。
  5. そのまま待ち、この章の掛け合いがもう一度出たら、女の子が話した数を見る。
  • 成功の目印(手順 3): 女の子の吹き出しに「この話をするのは1回目だよ!」と出て、続いて男の子の吹き出しに「……ずっと数えてたの?」と出る
  • 成功の目印(手順 5): 女の子が話す数が、手順 3 で控えた数より 1 つ大きい。手順 3 が「1回目」なら、「この話をするのは2回目だよ!」と出る

女の子「この話をするのは2回目だよ!」、男の子「……ずっと数えてたの?」と吹き出しに出ている画面

  • 起動し直した後の数が「1回目」に戻っていなければ、$*回数 の値は、終了しても残っている
  • 手順 3 で待っているあいだに、この章の掛け合いが 2 回出たときは、数は「2回目」になっている。最後に見た数を控える
  • 会話 という名前のシーンは、この章の 1 つを足して 9 つになった。9 回のおしゃべりで、9 つの掛け合いが 1 回ずつ出る。出る順は決まっていない
  • おしゃべりの間隔は、2 段目で pasta.toml に書き足した 45〜75 秒である。9 回見るには 7〜11 分ほどかかる
  • 待つ時間を縮めたいときは、[ghost] の 2 つの値を小さくして、SSP を終了し、もう一度起動する

もっと詳しく


クローディア(目閉じ)

閉じても、また開いても、数は続きから。ささやかな記憶でも、あるとないとでは大ちがいですわ。

アンソニー(素)

では、お嬢様がお茶菓子をつまみ食いなさった回数も、あの子たちに数えさせましょう。

クローディア(照れ怒り)

か、数えなくてよろしいですわ、そんなもの! 次は、ひとつの話を先へ続けたり、行き先を変えたりしてみせますわよ。