Рецепт модульности для Twine 2
Модульность как термин программирования – это разделение программы на несколько разных секций, каждая из которых отвечает своей цели. Это способ эффективной организации исходного кода.
Harlowe
Используйте макрос (display:) чтобы напечатать содержимое одного абзаца внутри другого.
:: StoryTitle Модульность в Harlowe
:: Start (set: $lineOne to "Дайте нам стих") (set: $lineTwo to "Поделитесь вашей мудростью")
(display: "абзац1") (display: "абзац2")
:: абзац1 $lineOne
:: абзац2 $lineTwo
SugarCube
Макрос <<widget>> даёт способ создавать новые макросы внутри TwineScript. По сравнению с макросом <<include>>, виджеты позволяют использовать аргументы и выражения, как в других макросах SugarCube. Новые виджеты нужно задавать при помощи тега <<widget>>
:: StoryTitle Модульность в SugarCube
:: Start <<set $lineOne to "Give us a verse">> <<set $lineTwo to "Drop some knowledge">>
<<include "абзац1">> <<include "абзац2">>
<<showLine 1>> <<showLine 2>>
:: мойВиджет [widget] <<widget 'showLine'>>\ <<nobr>> <<if $args[0] is 1>> $lineOne <<elseif $args[0] is 2>> $lineTwo <</if>> <</nobr>>\ <</widget>>
:: абзац1 $lineOne
:: абзац2 $lineTwo