第06回 ビジュアルノベル3:選択肢と条件分岐
2 / 4 フラグと整数の変数による記録
このステップの目的
選択した事実と、積み上げる数値を分けて記録します。
フラグと変数
変数(variable)は、名前を付けて値を記録する入れ物です。そのうち「確認したか」のような二択を記録する用途をフラグ(flag)と呼びます。ここでは、確認済みの事実をフラグ、根拠の数を整数の変数で表します。
csv
フラグ,課題の記録,true
加算,説得力,1この教材ではtrueを1、falseを0として保持します。変数,説得力,0は代入、加算,説得力,1は現在値へ1を加える命令です。加算や比較の前には初期値が必要です。開始用のintro.csvに初期化が用意されています。
二つの罪状へ記録を加える
charge-homework.csvのラベル,時刻以降を探します。- 正しい反証の台詞の後、コメントの位置に上の二行を加えます。
charge-attendance.csvの正しい反証にも同じ形を加えます。フラグ名は出席の記録です。- 誤った選択の側ではフラグを立てないことを確認します。
第一の罪状の指示を確認は完成した例です。三つの記録は別の名前なので、どれを確認したかが残ります。選択結果だけでは、次の選択で番号が上書きされてしまいます。
判定へつなぐ
verdict.csvにある分岐を読んで確認します。次の二行は比較の書き方を示す抜粋で、追加するコードではありません。変数の値が条件を満たしたときに指定のラベルへ移動します。2行目は、説得力が3以上なら「反証成立」へ進む指定です。
csv
分岐,課題の記録,==,0,不十分
分岐,説得力,>=,3,反証成立説得力:比較する変数>=,3:3以上で成立反証成立:移動先ラベル
比較には==、!=、>=、<=、>、<を使えます。三件とも確認したことを個別のフラグで確かめ、説得力の合計も比較します。同じ会話を繰り返す設計に変更する場合は、同じ証拠で二重加算しない条件も必要です。
チェックリスト
- 第二・第三の反証を記録し、三つとも正しい選択をした道が「判決の先へ」に到達しましたか。