big

Как продвигаются ваши новеллы?

Давайте посмотрим, что вы успели добавить. Найдите того, чью игру еще не видели и поиграйте в нее, а затем дайте фидбек, пока я посмотрю на все работы.

Переменные

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

Переменную всегда называем латиницей, иначе просто не будет работать.

Типы переменных

Основные типы переменных, которые вам могут понадобиться:

  • boolean значения: true/false
  • number значения: числовые 1, 2, 3
  • string значения: любое значение, но важно помнить, что программа будет воспринимать его только как текст, в коде выделяются кавычками.

Синтаксис

Задать переменную:

(set: $имя переменной to значение переменной)

Условие с переменной:

Показать текст (if: $переменная is значение)[То, что увидит игрок]

Двойное условие:

(if: $переменная1 is значение1 and $переменная2 is значение2)[То, что увидит игрок]

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

Показать текст

(if: $переменная is значение)[То, что увидит игрок]

Дать разные выборы

(if: $переменная is true)[[Ссылка 1]] (if: $переменная is false)[[Ссылка 2]]

Показывать определенный блок информации

(print: $переменная) — будет отражаться значение переменной

Можно проверить был игрок в конкретном абзаце.

Синтаксис переменной: (if: visits is 0)[] (if: visits ≤ 0)[] (if: visits ≥ 0)[] (if: visits is not 0)[]

Boolean

Может иметь значение True или False. Удобно использовать, когда вопрос, который вы задаете программе сводится к да/нет.

Например:

  • был ли игрок на этом абзаце? (if: $Visits is true)[[Ссылка 1]] — да (if: $Visits is false)[[Ссылка 2]] — нет

Number

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

Сложение — хотим прибавить к нашей переменной какое-то число.

(set: $переменная to + что-то)

  • Пример 1: Переменная была создана до этой операции (set: $number to $number + 3)

  • Пример 2: переменная не была создана до этой операции (set: $number to 2 + 3)

Хотим задать переменной случайное значение от 1 до 6.

Пример: (set: $roll to (random: 1, 6))

Чтобы показать переменную игроку, достаточно просто написать её в тексте $variableName. Если просто написать имя переменной, не задав ей значение, она будет равна нулю по умолчанию.

Текст уехал из-за кода

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

Это не удобно, но это легко исправить. Надо убрать весь код в {} фигурные скобки.

Пример: { (Set: $health to 20) (Set: $mana to 20) (Set: $enhealth to 100)} =|= (live: 1s)[health: (Print: $health)] (live: 1s)[energy: (Print: $mana)] =|= (live: 1s)[Enemy health: (Print: $enhealth)] |==| { (set: $time to 5) (live: 1s)[ (set: $time to it -1) (if: $time≤ 0) [(goto: «next turn»)]] }

Редактирование текста

Выровнять текст или картинку:

(align:"==>») [текст]

==> Этот текст будет справа =>≤ Этот по середине ≤= Этот будет слева ≤=> Текст блоком

===>≤ Здесь будут колонки размером ¾ слева, ¼ справа =>≤==== Здесь колонки 1/6 слева, 5/6 справа.

Изменить длину строки:

(box:"X=»)

(box:"XXX==»)

(box:"X====»)

Сделать нумерованный список:

«0. Это будет пункт 1» «0. Это будет пункт 2» «0. Это будет пункт 3» «0. Это пункт 4»

Сделать маркированный список:

«* Это будет пункт 1» «* Это будет пункт 2» «* Это будет пункт 3» «* Это пункт 4»

Сделать крупный текст акцентным шрифтом:

#Это заголовок

Это обычный текст

Разделить игровой экран горизонтальной линией:

«---»

Создать колонку:

=|= Тут будет текст первой колонки =|= Тут текст второй |==|

количество = в начале — длина отступа от левого края количество | в центре — ширина колонки количество = в начале — длина отступа от правого края

Поменять цвет у определенного текста

(text-colour: цвет)[Текст, у которого меняется цвет фона]

Примеры: (text-colour: red)[Красный текст] (text-colour: red + white)[Розовый текст] (text-colour: green + lime)[Салатовый текст]

Twine: типы переменных
Проект создан 16.04.2026