Skip to content
第06回 ビジュアルノベル3:選択肢と条件分岐

2 / 4 フラグと整数の変数による記録 ​

このステップの目的

選択した事実と、積み上げる数値を分けて記録します。

フラグと変数 ​

変数(variable)は、名前を付けて値を記録する入れ物です。そのうち「確認したか」のような二択を記録する用途をフラグ(flag)と呼びます。ここでは、確認済みの事実をフラグ、根拠の数を整数の変数で表します。

csv
フラグ,課題の記録,true
加算,説得力,1

この教材ではtrueを1、falseを0として保持します。変数,説得力,0は代入、加算,説得力,1は現在値へ1を加える命令です。加算や比較の前には初期値が必要です。開始用のintro.csvに初期化が用意されています。

二つの罪状へ記録を加える ​

  1. charge-homework.csvのラベル,時刻以降を探します。
  2. 正しい反証の台詞の後、コメントの位置に上の二行を加えます。
  3. charge-attendance.csvの正しい反証にも同じ形を加えます。フラグ名は出席の記録です。
  4. 誤った選択の側ではフラグを立てないことを確認します。

第一の罪状の指示を確認は完成した例です。三つの記録は別の名前なので、どれを確認したかが残ります。選択結果だけでは、次の選択で番号が上書きされてしまいます。

判定へつなぐ ​

verdict.csvにある分岐を読んで確認します。次の二行は比較の書き方を示す抜粋で、追加するコードではありません。変数の値が条件を満たしたときに指定のラベルへ移動します。2行目は、説得力が3以上なら「反証成立」へ進む指定です。

csv
分岐,課題の記録,==,0,不十分
分岐,説得力,>=,3,反証成立
  • 説得力:比較する変数
  • >=,3:3以上で成立
  • 反証成立:移動先ラベル

比較には==、!=、>=、<=、>、<を使えます。三件とも確認したことを個別のフラグで確かめ、説得力の合計も比較します。同じ会話を繰り返す設計に変更する場合は、同じ証拠で二重加算しない条件も必要です。

チェックリスト
  • 第二・第三の反証を記録し、三つとも正しい選択をした道が「判決の先へ」に到達しましたか。