Переменные и условия
Для лучшего понимания работы переменных и типов данных в Ren'Py рекомендуется изучить работу переменных в Python 2.7. Это не займёт много времени, но поможет в понимании материала.
Если вы хотите, чтобы игра запоминала каждый выбор игрока, то без переменных нам не обойтись.
Объявлять свои переменные можно в любом месте кода игры, и делается это, как с любым Python-кодом, в однострочных блоках $ или многострочных блоках python.
Синтаксис:
$ <Название переменной> = <Значение переменной>
python:
<Название переменной> = <Значение переменной>
Условия
Используя переменные ваш мод может ветвиться, а игрок — выходить на разные концовки.
Для этого существуют условные конструксии с if, elif и else и цикл while.
Блок if
Если вам нужно проверить переменную на что-либо, то вам нужен этот блок.
Синтаксис:
if <Ваше выражение>:
<Команды при успехе>
Пример:
if route == "dv":
jump dv_route
Имейте в виду, что условие будет выполнено, только если ему передано значение истины или выражение, которое выдаёт истину.
Также имейте в виду, что помимо jump, как указано в примерах, можно вставлять целые отрывки повествования.
Блок else
Блок else выполнит свои команды, если проверка была провалена.
Синтаксис:
if <Ваше выражение>:
<Команды при успехе>
else:
<Команды при провале>
Пример:
if route == "dv":
jump dv_route
else:
jump other_route
Блок elif
Блок elif позволяет выполнить дополнительные проверки перед провалом.
Синтаксис:
if <Ваше выражение>:
<Команды при успехе>
elif <Другое выражение>:
<Команды при успехе этого условия>
Пример:
if route == "dv":
jump dv_route
elif route == "sl":
jump sl_route
Дополнительных проверок может быть сколько угодно, и их также можно совмещать с блоком else.
Пример:
if route == "dv":
jump dv_route
elif route == "sl":
jump sl_route
elif route == "un":
jump un_route
elif route == "mz":
jump mz_route
else:
jump other_route
Блок while
Блок while выполняет свои команды пока выражение в его условии равно истине.
Синтаксис:
while <Ваше выражение>:
<Команды при успехе>
Пример:
while True:
"Да здравствует бесконечный цикл!"