Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2021-11-25 | 20 |
5.00
из
|
Заказать работу |
По мере того, как истории становятся длиннее, они становятся все более запутанными, чтобы сохранять организованность без какой-либо дополнительной структуры.
Узлы могут включать в себя подразделы, называемые «стежки». Они отмечены с помощью одного знака равенства.
=== the_orient_express ===
= in_first_class
...
= in_third_class
...
= in_the_guards_van
...
= missed_the_train
...
Например, можно использовать узел для сцены и швы для событий внутри сцены.
Швы имеют уникальные имена
Стежок может быть перенаправлен на использование его «адреса».
* [Travel in third class]
-> the_orient_express.in_third_class
* [Travel in the guard's van]
-> the_orient_express.in_the_guards_van
Первый стежок по умолчанию
Отклонение к узлу, который содержит стежки, переключится на первый стежок в узле. Так:
* [Travel in first class]
"First class, Monsieur. Where else?"
-> the_orient_express
такой же как:
* [Travel in first class]
"First class, Monsieur. Where else?"
-> the_orient_express.in_first_class
(... если мы не переместим порядок стежков внутри узла!)
Вы также можете включить содержимое в верхней части узла вне любой строчки. Тем не менее, вы должны помнить, чтобы отклониться от него - движок не будет автоматически вводить первый стежок, как только он проработает содержимое заголовка.
=== the_orient_express ===
We boarded the train, but where?
* [First class] -> in_first_class
* [Second class] -> in_second_class
= in_first_class
...
= in_second_class
...
Местные отводы
Изнутри узла вам не нужно использовать полный адрес для стежка.
-> the_orient_express
=== the_orient_express ===
= in_first_class
I settled my master.
* [Move to third class]
-> in_third_class
= in_third_class
I put myself in third.
Это означает, что стежки и узлы не могут иметь общие имена, но несколько узлов могут содержать одно и то же имя стежка. (Так что и у Восточного Экспресса, и у Монголии СС может быть первый класс.)
Компилятор предупредит вас, если используются неоднозначные имена.
Файлы сценариев могут быть объединены
Вы также можете разделить ваш контент на несколько файлов, используя оператор включения.
INCLUDE newspaper.ink
INCLUDE cities/vienna.ink
INCLUDE journeys/orient_express.ink
Операторы включения всегда должны идти вверху файла, а не внутри узлов.
Нет никаких правил относительно того, в какой файл должен быть направлен узел. (Другими словами, разделение файлов не влияет на пространство имен игры).
5) Различные варианты
Выбор может быть использован только один раз
По умолчанию каждый выбор в игре может быть выбран только один раз. Если в вашей истории нет петель, вы никогда не заметите такого поведения. Но если вы используете циклы, вы быстро заметите, что ваши варианты исчезают...
=== find_help ===
You search desperately for a friendly face in the crowd.
* The woman in the hat[?] pushes you roughly aside. -> find_help
* The man with the briefcase[?] looks disgusted as you stumble past him. -> find_help
производит:
You search desperately for a friendly face in the crowd.
1: The woman in the hat?
2: The man with the briefcase?
> 1
The woman in the hat pushes you roughly aside.
You search desperately for a friendly face in the crowd.
1: The man with the briefcase?
>
... и в следующем цикле у вас не останется вариантов.
Резервный выбор
Приведенный выше пример останавливается там, где это происходит, потому что следующий выбор заканчивается ошибкой во время выполнения.
> 1
The man with the briefcase looks disgusted as you stumble past him.
You search desperately for a friendly face in the crowd.
Runtime error in tests/test.ink line 6: ran out of content. Do you need a '-> DONE' or '-> END'?
Мы можем решить это с помощью «запасного варианта». Резервные варианты никогда не отображаются игроку, а «выбираются» игрой, если других вариантов не существует.
Резервный выбор - это просто «выбор без выбора текста»:
* -> out_of_options
И, слегка нарушив синтаксис, мы можем сделать выбор по умолчанию с содержанием в нем, используя «стрелку выбора, затем»:
* ->
Mulder never could explain how he got out of that burning box car. -> season_2
Пример резервного варианта
Добавление этого в предыдущий пример дает нам:
=== find_help ===
You search desperately for a friendly face in the crowd.
* The woman in the hat[?] pushes you roughly aside. -> find_help
* The man with the briefcase[?] looks disgusted as you stumble past him. -> find_help
* ->
But it is too late: you collapse onto the station platform. This is the end.
-> END
и производит:
You search desperately for a friendly face in the crowd.
1: The woman in the hat?
2: The man with the briefcase?
> 1
The woman in the hat pushes you roughly aside.
You search desperately for a friendly face in the crowd.
1: The man with the briefcase?
> 1
The man with the briefcase looks disgusted as you stumble past him.
You search desperately for a friendly face in the crowd.
But it is too late: you collapse onto the station platform. This is the end.
Липкий выбор
Конечно, поведение «один раз» - это не всегда то, что мы хотим, поэтому у нас есть второй выбор: «липкий» выбор. Липкий выбор - просто тот, который не используется и отмечен +маркером.
=== homers_couch ===
+ [Eat another donut]
You eat another donut. -> homers_couch
* [Get off the couch]
You struggle up off the couch to go and compose epic poetry.
-> END
Выбор по умолчанию тоже может быть липким.
=== conversation_loop
* [Talk about the weather] -> chat_weather
* [Talk about the children] -> chat_children
+ -> sit_in_silence_again
Условный выбор
Вы также можете включить или выключить выбор вручную. В чернилах достаточно много логики, но простейшие тесты - «видел ли игрок определенную часть контента».
Каждый узел / строчка в игре имеет уникальный адрес (поэтому его можно перенаправить на), и мы используем тот же адрес, чтобы проверить, был ли виден этот фрагмент контента.
* { not visit_paris } [Go to Paris] -> visit_paris
+ { visit_paris } [Return to Paris] -> visit_paris
* { visit_paris.met_estelle } [ Telephone Mme Estelle ] -> phone_estelle
Обратите внимание, что тест knot_nameверен, если какой-либо шов внутри этого узла был замечен.
Также обратите внимание, что условные выражения не переопределяют однократное поведение параметров, поэтому вам все равно понадобятся липкие параметры для повторяющихся вариантов.
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!