選択肢 link

ビジュアルノベルには、プレイヤーに物語の行方を左右するような選択を迫るものがたくさんあります。Ren'Py 言語の menu ステートメント で、ユーザーに選択肢を簡単に提示できます。

ここに menu ステートメント の例を挙げます:

menu:
     "What should I do?"

     "Drink coffee.":
         "I drink the coffee, and it's good to the last drop."

     "Drink tea.":
         $ drank_tea = True

         "I drink the tea, trying not to make a political statement as I do."

     "Genuflect.":
         jump genuflect_ending

label after_menu:

     "After having my drink, I got on with my morning."

menu ステートメント は、予約語 menu で始まります。これにラベル名を続けると、先行するそのラベルの選択肢と同じになります。例

menu drink_menu:
    ...

menu ステートメントには、インデントされたブロックを続けます。このブロックには say ステートメント も書くことができ、少なくとも一つ選択肢を書かなければなりません。say ステートメント があれば、選択肢と同時にそれが画面に表示されます。

選択肢 選択肢は、ユーザーが選べる項目です。選択肢は文字列で始まります。その文字列に if 節を続けると、それを選択肢表示の条件に出来ます。選択肢はコロンで終わり、Ren'Py ステートメントのブロックを続けなければなりません。

選択肢が選ばれると、ステートメントのブロックが実行されます。ブロックが最後まで実行されると、menu ステートメント後にあるステートメントに実行が続きます。

if 節は、予約語 if で始まり、Python 式が続きます。その式が True であるときのみ対応する選択肢が表示されます。以下の選択肢では

menu:
    "Go left.":
        ...
    "Go right.":
        ...
    "Fly above." if drank_tea:
        ...

三番目の選択肢は、drank_tea 変数が True であるときのみ提示されます。