Условные операторы (Conditional Statements)
Ren'Py включает несколько операторов, которые могут изменять поток управления на основе значений выражения. Это в дополнение к операторам jump, call и return, которые передают управление без каких-либо предварительных условий.
Обратите внимание, что на этой странице рассматриваются операторы, которые можно использовать внутри скрипта Ren'Py. Код на языка программирования Python, встроенный в игру на Ren'Py, использует операторы на языке Python (while, if и for), но не может встраивать скриптовый код Ren'Py.
Оператор if (If Statement)[править | править код]
Оператор if условно выполняет блок операторов, если выражение языка Python принимает истинное значение. Условная инструкция состоит из оператора if, нуля или более операторов elif и необязательного оператора else.
Каждая составная часть условной инструкции должна находится на своей собственной логической строке, за которой следует блок операторов. За операторами if и elif следует выражение, все вышеуказанные операторы заканчиваются двоеточием.
Например:
if flag:
e "Вы установили флаг!"
или
if points >= 10:
jump best_ending
elif points >= 5:
jump good_ending
elif points >= 1:
jump bad_ending
else:
jump worst_ending
Выражения в операторе if вычисляются по порядку (от первого до последнего). Когда выражение принимает истинное значение, выполняется блок, соответствующий данному оператору if. Когда управление достигает конца блока, оно переходит к оператору, следующему за оператором if.
Если все выражения принимают ложное значение, выполняется блок, связанный с необязательным оператором else, если он присутствует в вашей условной инструкции.
Оператор while (While Statement)[править | править код]
Оператор while выполняет блок операторов, в то время как выражение принимает значение True.
Например:
$ count = 10
while count > 0:
"Запуск через [count]."
$ count -= 1
"Взлёт!"
или
while True:
"Это песня, которая никогда не прекращает."
"Она продолжается и продолжается, мои соотечественники."
Выражение вычисляется при первом достижении оператора while, а потом каждый раз, когда управление достигает конца блока. Когда выражение возвращает ложное значение, выполняется оператор после оператора while.
В Ren'Py отсутствуют операторы continue, break или for. Операторы continue и break могут быть заменены переходами к меткам, размещенным до или после цикла while, соответственно. Первый пример цикла while, приведённый выше, показывает, как цикл while может заменить оператор for.
Оператор pass (Pass Statement)[править | править код]
Оператор pass можно использовать, когда требуется блок, но нет подходящего оператора. Оператор pass ничего не делает.
Например:
if points >= 10:
"Ты отлично справляешься!"
elif points >= 1:
pass
else:
"Всё, что ты делаешь, выглядит не очень хорошо."
# event.step() - функция, которая возвращает значение True, пока еще есть
# события, которые должны быть выполнены.
while event.step():
pass
Источник[править | править код]
Статья "Conditional Statements" на английском языке.
На главную страницу | Официальная документация движка | Вернуться к началу статьи |