Увы, тега renpy на хабре нет. Присматриваюсь к этому движку. Приглянулся тем, что он использует пайтон, что для меня важно, как стимул для изучения питона. Смотрел уроки, чужой код, но меня постоянно смущает, что люди дублируют строчки кода в разных участках. Вот пример с одно урока на ютубе:
label one:
window hide
$ map_mark = 0
hide screen map
show screen one with desolve
label two:
window hide
$ map_mark = 0
hide screen map
show screen two with desolve
label three:
window hide
$ map_mark = 0
hide screen map
show screen three with desolve
И я часто такое вижу и после такого к ренпаю прикасаться не хочется... Может я чего-то не понимаю и таковы особенности ренпая и он в этом смысле ограничен, может авторы роликов недостаточно хорошо разбираются в питоне, но серьёзно... Дублирование строк кода. А если таких лейблов 50? А если дублирующихся строк 100 штук? А если нужно что-то изменить, то придётся менять везде. Это непрактично, визуально нагружает код, да и вообще - дурной тон.
Неужто нельзя использовать функции? Ренпай же может использовать питон, есть "init python" и далее какой-то код, как я понимаю, на чистом питоне. Разве нельзя всё обернуть в функцию, например вот так:
def some_func(LOCATION):
window hide
$ map_mark = 0
hide screen map
show screen LOCATION with desolve
label one:
some_func(one)
label two:
some_func(two)
label three:
some_func(three)
И нужно будет редактировать только одну функцию. Просто если ренпай так не может, то это очень печально...