Дополнительно: смешивание выбора и вывода текста — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Дополнительно: смешивание выбора и вывода текста

2021-11-25 17
Дополнительно: смешивание выбора и вывода текста 0.00 из 5.00 0 оценок
Заказать работу

Квадратные скобки фактически разделяют содержание опции. То, что раньше, печатается как на выбор, так и на вывод что внутри только в выборе; и что после, только на выходе. По сути, они предоставляют альтернативные способы для завершения линии.

Hello world!

*  Hello [back!] right back to you!

   Nice to hear from you!

производит:

Hello world

1: Hello back!

> 1

Hello right back to you!

Nice to hear from you.

Это наиболее полезно при написании диалоговых вариантов:

"What's that?" my master asked.

*  "I am somewhat tired[."]," I repeated.

   "Really," he responded. "How deleterious."

производит:

"What's that?" my master asked.

1. "I am somewhat tired."

> 1

"I am somewhat tired," I repeated.

"Really," he responded. "How deleterious."

Множество вариантов

Чтобы сделать выбор действительно, нам нужно предоставить альтернативы. Мы можем сделать это просто перечислив их:

"What's that?" my master asked.

*  "I am somewhat tired[."]," I repeated.

   "Really," he responded. "How deleterious."

*  "Nothing, Monsieur!"[] I replied.

   "Very good, then."

* "I said, this journey is appalling[."] and I want no more of it."

   "Ah," he replied, not unkindly. "I see you are feeling frustrated. Tomorrow, things will improve."

Это производит следующую игру:

"What's that?" my master asked.

 

1: "I am somewhat tired."

2: "Nothing, Monsieur!"

3: "I said, this journey is appalling."

 

> 3

"I said, this journey is appalling and I want no more of it."

"Ah," he replied, not unkindly. "I see you are feeling frustrated. Tomorrow, things will improve."

Приведенного выше синтаксиса достаточно, чтобы написать один набор вариантов. В реальной игре мы хотим переместить поток из одной точки в другую в зависимости от того, что выберет игрок. Для этого нам нужно ввести немного больше структуры.

Узлы

Части контента называются узлами

Чтобы позволить игре разветвляться, нам нужно пометить разделы контента именами (как это делает старомодная книга игр со своим «Параграфом 18» и т.п.).

Эти разделы называются «узлами» и являются основной структурной единицей содержания чернил.

Написание узла

Начало узла обозначается двумя или более знаками равенства, как показано ниже.

=== top_knot ===

(Знаки равенства в конце необязательны; имя должно быть одним словом без пробелов.)

Начало узла - заголовок; содержание, которое следует, будет в том узле.

=== back_in_london ===

 

We arrived into London at 9.45pm exactly.

Продвинутый: узелок "Привет, мир"

Когда вы запускаете файл чернил, содержимое вне узлов будет запускаться автоматически. Но сучки не будут. Поэтому, если вы начнете использовать узлы для хранения своего контента, вам нужно будет указать игре, куда идти. Мы делаем это с помощью стрелки ->, которая будет рассмотрена в следующем разделе.

Самый простой запутанный скрипт:

-> top_knot

 

=== top_knot ===

Hello world!

Однако чернила не любят незакрепленные концы и выдают предупреждение о компиляции и / или времени выполнения, когда считают, что это произошло. Сценарий выше производит это при компиляции:

WARNING: Apparent loose end exists where the flow runs out. Do you need a '-> END' statement, choice or divert? on line 3 of tests/test.ink

и это при беге:

Runtime error in tests/test.ink line 3: ran out of content. Do you need a '-> DONE' or '-> END'?

Следующее проигрывается и компилируется без ошибок:

=== top_knot ===

Hello world!

-> END

-> ENDявляется маркером как для автора, так и для компилятора; это означает, что «поток истории должен прекратиться».

Диверты

Узлы отвлекаются на узлы

Вы можете рассказать историю, чтобы перейти от одного узла к другому, используя ->«стрелку отклонения». Переадресация происходит немедленно без какого-либо участия пользователя.

=== back_in_london ===

 

We arrived into London at 9.45pm exactly.

-> hurry_home

 

=== hurry_home ===

We hurried home to Savile Row as fast as we could.

Дайверты невидимы

Переадресация должна быть бесшовной и даже произойти в середине предложения:

=== hurry_home ===

We hurried home to Savile Row -> as_fast_as_we_could

 

=== as_fast_as_we_could ===

as fast as we could.

производит ту же строку, что и выше:

We hurried home to Savile Row as fast as we could.

Клей

Поведение по умолчанию вставляет разрывы строк перед каждой новой строкой содержимого. В некоторых случаях, однако, контент должен настаивать на отсутствии переноса строки, и это может быть сделано с помощью <>или «склеивания».

=== hurry_home ===

We hurried home <>

-> to_savile_row

 

=== to_savile_row ===

to Savile Row

-> as_fast_as_we_could

 

=== as_fast_as_we_could ===

<> as fast as we could.

также производит:

We hurried home to Savile Row as fast as we could.

Вы не можете использовать слишком много клея: несколько клеев рядом друг с другом не имеют никакого дополнительного эффекта. (И нет никакого способа «отрицать» клей; если линия липкая, она заклеится.)

Ветвление потока

Основное ветвление

Комбинация узлов, опций и дивертов дает нам основную структуру игры по выбору.

=== paragraph_1 ===

You stand by the wall of Analand, sword in hand.

* [Open the gate] -> paragraph_2

* [Smash down the gate] -> paragraph_3

* [Turn back and go home] -> paragraph_4

 

=== paragraph_2 ===

You open the gate, and step out onto the path.

 

...

Ветвление и присоединение

Используя переадресацию, писатель может разветвлять поток и снова присоединять его, не показывая игроку, что поток присоединился.

=== back_in_london ===

 

We arrived into London at 9.45pm exactly.

 

*  "There is not a moment to lose!"[] I declared.

   -> hurry_outside

       

*  "Monsieur, let us savour this moment!"[] I declared.

   My master clouted me firmly around the head and dragged me out of the door.

   -> dragged_outside

 

*  [We hurried home] -> hurry_outside

 

       

=== hurry_outside ===

We hurried home to Savile Row -> as_fast_as_we_could

 

 

=== dragged_outside ===

He insisted that we hurried home to Savile Row

-> as_fast_as_we_could

 

 

=== as_fast_as_we_could ===

<> as fast as we could.

Поток истории

Узлы и отводы объединяются, чтобы создать основной сюжетный поток в игре. Этот поток «плоский» - нет стека вызовов, а переадресация «не возвращается» из.

В большинстве рукописных сценариев поток истории начинается сверху, подпрыгивает в спагетти-подобном беспорядке и в конечном итоге, как мы надеемся, достигает a -> END.

Очень свободная структура означает, что авторы могут продолжать и писать, разветвляясь и возвращаясь, не беспокоясь о структуре, которую они создают по ходу работы. Там нет котла для создания новых веток или диверсий, и нет необходимости отслеживать любое состояние.

Дополнительно: петли

Вы абсолютно можете использовать переадресацию для создания зацикленного контента, и у чернил есть несколько функций для их использования, в том числе способы изменения самого контента и способы управления частотой выбора опций.

См. Разделы «Изменение текста и условные параметры» для получения дополнительной информации.

О, а следующее законно и не очень хорошая идея:

=== round ===

and

-> round

Включает в себя и швы


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.027 с.