条件分岐用ステートメント link

Ren'Py には式の値に応じて制御フローを変更するいくつかのステートメントがあります。 (これは条件とは関係なしに制御を移動する jump, call, return ステートメントの発展版です。)

ここで紹介されているステートメントは Ren'Py スクリプトで利用できるものです。Ren'Py のゲームに組み込まれた Python のコードでは、Python の while、if、for ステートメントを利用できますが、Ren'Py スクリプトのコードでは利用できません。

if ステートメント link

The if statement conditionally executes a block of statements if a python expression is true. It consists of an if clause, zero or more elif clauses, and an optional``else`` clause.

Each clause should be on its own logical line, followed by a block of statements. The if and elif clauses are followed by an expression, while all clauses end with a colon. (:)

例:

if flag:
    e "You're set the flag!"
if points >= 10:
    jump best_ending
elif points >= 5:
    jump good_ending
elif points >= 1:
    jump bad_ending
else:
    jump worst_ending

The expressions in the if statement are evaluated in order, from first to last. When an expression evaluates to true, the block corresponding to that statement is executed. When control reaches the end of the block, it proceeds to the statement following the if statement.

If all expressions evaluate to false, the block associated with the else clause is executed, if the else clause is present.

while ステートメント link

The while statement executes a block of statements while an expression evaluates true. For example:

$ count = 10

while count > 0:

    "T-minus [count]."

    $ count -= 1

"Liftoff!"
while True:

    "This is the song that never terminates."
    "It goes on and on, my compatriots."

The expression is evaluated when while statement is first reached, and then each time control reaches the end of the block. When the expression return a false value, the statement after the while statement is executed.

Ren'Py は continue, break, for ステートメントを持ちません。 continue と break ステートメントはそれぞれ while ループの前と後に配置されたラベルへのジャンプで置き換えられます。上記の while ループの最初の例はどのように while ループで for ステートメントを置き換えるかを示します。

pass ステートメント link

The pass statement can be used when a block is required, but no statement is suitable. It does nothing.

if points >= 10:
    "You're doing great!"
elif points >= 1:
    pass
else:
    "Things aren't looking so good."
# event.step() is a function that returns true while there are
# still events that need to be executed.

while event.step():
    pass