время сна
 
для сравнения времени засыпания и пробуждения достаточно использовать часы засыпания пробуждения
если время засыпания < времени пробуждения, то Тпробуждения - Tзасыпания   /*это время сна*/ 
если больше то (24 часа - Т засыпания) + Т пробуждения по будильнику
 
Tсна в секундах*3 = восстановленные силы
 
Если необходимая для полного восстановления бодрость (бодрость макс - энергия при засыпании) > восстановленных сил
то бодрость = энергия при засыпании + восстановленные силы
 
Если меньше, то (макс бодрость - оставшая бодрость)/3 = время сна в секундах необходимое для восстановления
время сна = время засыпания + время необходимое для восстановления (пробуждение до звонка будильника.
 
для расчетов перевести время сна в секунд.. еще раз обдумать уточнить спать хочу, идею потерять нет




Если вы это случайно прочли, то я не волшебник и даже не учусь. У меня есть хобби оно как вязание и оно очень навязчивое. Перед сном я люблю повязать на доступном мне уровне.
Смысл сего я никому объяснять не имею желания и морочить себе голову сложными терминами тоже... поэтому просьба не морочить мне голову...
 
 Макрос `<<silently>>` в Twine 2 SugarCube 2 используется для скрытия вывода других макросов в пассаже. Он полезен, когда вы хотите выполнить некоторые операции, такие как установка переменных или проверка условий, без отображения их на экране. Он требует соответствующего макроса `<<endsilently>>`, чтобы указать конец скрытого блока кода. Например:
 
```twine
<<silently>>
<<set $name to "Иван">>
<<if $age >= 18>>
    <<set $adult to true>>
<</if>>
<</silently>>
Здравствуйте, <<print $name>>. Вы <<if $adult>>взрослый<</if>><<if not $adult>>ребенок<</if>>.
```
 
Этот код не будет показывать ничего, кроме последней строки, которая будет зависеть от значения переменной `$age`. Все макросы внутри `<<silently>>` и `<<endsilently>>` будут выполнены, но не будут видны игроку.
 
Я нашел некоторые полезные ресурсы по Twine 2 SugarCube 2, которые объясняют, как использовать макрос `<<silently>>` и другие макросы:
 
- [Документация SugarCube v2](^1^)
- [SugarCube - Twine Cookbook](^2^)
- [Need help with formatting on display, i.e. removing newline in Twine 2. ...](^3^)
 
Надеюсь, это было полезно для вас. 😊
 
Source: Conversation with Bing, 8/29/2023
(1) SugarCube v2 Documentation - Motoslave.net. https://www.motoslave.net/sugarcube/2/docs/.
(2) silently - Twine Cookbook. http://www.twinery.org/cookbook/twine1/macros/silently.html.
(3) Need help with formatting on display, i.e. removing newline in Twine 2. .... https://twinery.org/questions/42582/help-formatting-display-removing-newline-twine-sugarcube.
https://www.youtube.com/watch?v=hYdEXDx1z58 урок 1. - Урок по Twine и Sugarcube [Ep 1] - Ссылки, введение в HTML.

https://www.youtube.com/watch?v=CHPtjRn6sbQ урок 2. - Урок по Twine и Sugarcube [Ep 2] - Боковая панель, специальные имена, макросы.


Date

Jul. 26th, 2023 03:47 am
 Объект Date в JavaScript позволяет работать с датами и временем, используя различные методы и свойства1. Он может быть полезен для создания игр в Twine 2 Sugarcube 2, которые зависят от реального времени пользователя, например, для отображения текущей даты и времени, для создания таймеров или счетчиков, для проверки условий, связанных с датой или временем, или для генерации случайных событий на основе даты или времени2.
 В Twine 2 Sugarcube 2 макросы widget и connection отличаются тем, что widget позволяет создавать пользовательские макросы, используя TwineScript, а connection позволяет создавать связи между пассажами, используя HTML-атрибуты1. Widget-макросы обычно используются для создания повторяющихся элементов интерфейса, таких как диалоговые окна, кнопки или индикаторы2. Connection-макросы обычно используются для создания нелинейных сюжетов, таких как ветвление, циклы или альтернативные концовки3. Например, вы можете использовать widget для создания макроса <<say>>, который выводит текст в диалоговом окне с изображением персонажа. Вы можете использовать connection для создания макроса <<link>>, который выводит ссылку на другой пассаж с определенным эффектом или действием.
 В Twine с использованием формата SugarCube 2 вы можете использовать макрос `<<back>>` или `<<return>>` для возврата к предыдущему пассажу.
 
Макрос `<<back>>` позволяет игроку вернуться к предыдущему пассажу, отменяя последнее действие. Это означает, что все изменения переменных, сделанные в текущем пассаже, будут отменены.
 
Вот пример использования макроса `<<back>>`:
 
```html
<<back "Назад">>
```
 
Этот код создает ссылку с текстом `"Назад"`, которая позволяет игроку вернуться к предыдущему пассажу, отменяя последнее действие.
 
Макрос `<<return>>` позволяет игроку вернуться к предыдущему пассажу, не отменяя последнее действие. Это означает, что все изменения переменных, сделанные в текущем пассаже, останутся.
 
Вот пример использования макроса `<<return>>`:
 
```html
<<return "Назад">>
```
 
Этот код создает ссылку с текстом `"Назад"`, которая позволяет игроку вернуться к предыдущему пассажу, не отменяя последнее действие.
 
Вы можете выбрать макрос `<<back>>` или `<<return>>` в зависимости от того, хотите ли вы отменить последнее действие при возврате к предыдущему пассажу.
 
Source: Conversation with Bing, 7/3/2023
(1) How to make a player go back to their last visited passage without .... https://bing.com/search?q=Twine+SugarCube+return+to+previous+passage.
(2) [Twine 2.1.3] [Sugarcube 2.18] Returning to previous ... - Twine Forum. https://twinery.org/forum/discussion/8919/twine-2-1-3-sugarcube-2-18-returning-to-previous-passages-without-using-return.
(3) "go to Previous Passage" code? - Twine Forum. https://twinery.org/forum/discussion/2937/go-to-previous-passage-code.
(4) Best Practice for Smart "Return" in SugarCube 2 - Twine Forum. https://twinery.org/forum/discussion/5375/best-practice-for-smart-return-in-sugarcube-2.
(5) Back to previous passage link - Twine Forum. https://twinery.org/forum/discussion/5199/back-to-previous-passage-link.
(6) SugarCube - Twine Cookbook. http://ww.twinery.org/cookbook/passagetransitions/sugarcube/sugarcube_passagetransitions.html.

Да, вы можете использовать квадратные скобки для создания ссылок с макросами `<<back>>` и `<<return>>`. Вот примеры использования квадратных скобок для создания ссылок:
 
```html
[Назад]<<back>>
 
[Назад]<<return>>
```
 
В первом примере мы используем квадратные скобки для создания ссылки с текстом `"Назад"`, которая позволяет игроку вернуться к предыдущему пассажу, отменяя последнее действие. Во втором примере мы используем квадратные скобки для создания ссылки с текстом `"Назад"`, которая позволяет игроку вернуться к предыдущему пассажу, не отменяя последнее действие.
 
Обратите внимание, что макросы `<<back>>` и `<<return>>` должны быть помещены сразу после закрывающей квадратной скобки, без пробелов между ними. Также обратите внимание, что при использовании квадратных скобок текст ссылки не может содержать символы `]` или `[
 Комментарии - это способ добавлять пояснения или заметки в ваш код, которые не отображаются в игре. Синтаксис комментариев зависит от того, какой формат истории вы используете в Twine 2. Если вы используете SugarCube, то вы можете использовать следующие способы добавлять комментарии в пассажи¹:
 
// Это однострочный комментарий на JavaScript. Он полностью удаляется из сгенерированного HTML.
 
/* Это многострочный комментарий на JavaScript. Он также полностью удаляется из сгенерированного HTML. */
 
<!-- Это однострочный комментарий на HTML. Он появляется в сгенерированном HTML, но не виден в игре. -->
 
<!-- Это многострочный комментарий на HTML.
Он также появляется в сгенерированном HTML, но не виден в игре. -->
 
Если вы используете Harlowe, то вы можете использовать только комментарии на HTML²³. Например:
 
<!-- Это однострочный комментарий на Harlowe. Он полностью удаляется из сгенерированного HTML. -->
 
<!-- Это многострочный комментарий на Harlowe.
Он также полностью удаляется из сгенерированного HTML. -->
 
Вы можете добавлять комментарии в любом месте пассажа, где они не будут мешать вашему коду или тексту. Например:
 
// Это комментарий перед текстом
Вы находитесь в темной комнате.
// Это комментарий после текста
 
<<if $hasKey is true>> // Это комментарий внутри кода
Вы можете открыть дверь.
<</if>>
 
Источник: беседа с Bing, 7/1/2023
(1) How to comment - commenting syntax - Twine Forum. https://twinery.org/forum/discussion/5071/how-to-comment-commenting-syntax.
(2) [harlowe] How to add comments to my passages? - Twine Forum. https://twinery.org/forum/discussion/8598/harlowe-how-to-add-comments-to-my-passages.
(3) Twine 2.2: Learning Twine: Passage Links - YouTube. https://www.youtube.com/watch?v=RwN6JcWcP0s.
(4) A Total Beginner’s Guide to Twine 2.1 – Adam Hammond. https://www.adamhammond.com/twineguide/.
------------------------------------------------------------------------------------------------------------------------------------
И еще одно незатейливое объяснение от чудомашины:

Макросы - это специальные команды, которые начинаются и заканчиваются двойными угловыми скобками, например <<set>> или <<if>>. Они позволяют вам делать разные вещи в игре, такие как устанавливать переменные, проверять условия, создавать кнопки и т.д. Некоторые макросы требуют закрытия, то есть повторения их имени с обратным слешем перед ним. Например, макрос <<if>> должен быть закрыт макросом <</if>>. Это показывает, где заканчивается его действие. Например:

 

<<if $hasKey is true>>

Вы можете открыть дверь.

<</if>>

 

Если вы не закроете макрос, то он будет работать неправильно или вызывать ошибки. Вы можете узнать больше о макросах в документации SugarCube.

 u/HiEv имеет отличный модуль для настройки систем даты и времени в Twine; вы можете проверить их пример временного кода на странице примеров кода, и он проведет вас шаг за шагом.
 «Левая боковая панель»: SugarCube (v2.18) #
Резюме#
SugarCube имеет встроенную левую боковую панель, содержимое которой можно изменить, добавив в свою историю один из нескольких специальных отрывков.
 
Следующий список описывает каждый из специальных отрывков в том порядке, в котором они появляются вертикально на боковой панели:
 
StoryBanner появляется прямо над заголовком истории. Одним из способов использования является отображение значка/изображения истории.
StorySubtitle появляется непосредственно под заголовком истории. Одно из применений — показать информацию о версии истории.
StoryAuthor используется для отображения информации об авторе.
StoryCaption обычно используется для отображения динамической информации о главном герое или развитии сюжета.
StoryMenu отображается непосредственно над кнопкой «Сохранить» и используется для отображения пользовательских пунктов меню.
StoryShare появляется непосредственно под кнопкой «Перезагрузить» и используется для доступа к диалоговому окну, содержащему ссылки на социальные сети или веб-сайты автора.
Боковую панель можно вручную убрать (скрыть) и развернуть (показать), выбрав значок < или > в правом верхнем углу боковой панели. Тот же эффект может быть достигнут программно с использованием глобального объекта UIBar и его функций UIBar.stow() и UIBar.unstow().
 Example#
 
Twee Code#
:: StoryTitle
Left Sidebar in SugarCube
 
:: Start
<<set $name to "Jane Doe", $location to "Work">>\
[[Another passage]]
 
 
<<link "Stow the sidebar!">>
  <<run UIBar.stow() >>
<</link>>
<<link "Unstow the sidebar!">>
  <<run UIBar.unstow() >>
<</link>>
 
 
:: StoryBanner
<img src="https://twinery.org/homepage/img/logo.svg" width="64" height="64">
 
 
:: StorySubtitle
Version: 0.2.1
 
 
:: StoryAuthor
by Anonymous
 
 
:: StoryCaption
Name: $name
Location: $location
 
 
:: StoryMenu
[[New story link!|Start]]
 
 
:: StoryShare
[[Twinery|https://twinery.org/]]
 
 
:: Another passage
<<set $name to "John Smith", $location to "Shop">>\
[[Start]]
Twee DownloadExample#
Download
 
Twee Code#
:: StoryTitle
Left Sidebar in SugarCube
 
:: Start
<<set $name to "Jane Doe", $location to "Work">>\
[[Another passage]]
 
 
<<link "Stow the sidebar!">>
  <<run UIBar.stow() >>
<</link>>
<<link "Unstow the sidebar!">>
  <<run UIBar.unstow() >>
<</link>>
 
 
:: StoryBanner
<img src="https://twinery.org/homepage/img/logo.svg" width="64" height="64">
 
 
:: StorySubtitle
Version: 0.2.1
 
 
:: StoryAuthor
by Anonymous
 
 
:: StoryCaption
Name: $name
Location: $location
 
 
:: StoryMenu
[[New story link!|Start]]
 
 
:: StoryShare
[[Twinery|https://twinery.org/]]
 
 
:: Another passage
<<set $name to "John Smith", $location to "Shop">>\
[[Start]]



1.Приложение №1: Использование ключа в вашей игре - https://blocknote.dreamwidth.org/20346.html
Приложение №2: Проверка имени игрока - https://blocknote.dreamwidth.org/20346.html

3. Сделайте вашу игру потрясающей с помощью CSS - https://blocknote.dreamwidth.org/23069.html
3. Сделайте вашу игру потрясающей с помощью CSS


https://www.youtube.com/watch?v=6ZawcwLOLWU

В этом руководстве объясняется, как использовать CSS для изменения внешнего вида вашей игры Twine. Все эти инструкции основаны на формате истории SugarCube. Прежде чем начать, убедитесь, что ваша игра Twine настроена на формат SugarCube. Для этого нажмите на название своей истории в ее основном представлении «карта истории». Выберите «Изменить формат истории» и установите флажок рядом с «SugarCube». (примечание: в последней версии Twine 2 инетрфейс претерпел сильные изменения).
Примечание: это руководство было разработано для моих студентов и предполагает некоторое знакомство с HTML и CSS.
 
Загрузить PDF-версию: Как сделать свою игру на шпагат потрясающей.

Вспоминание основ

Мне нравится в Twine, что он публикуется в стандартных веб-форматах. Он использует HTML для контента,
CSS для презентаций и JavaScript для всего, что связано с программированием. Поскольку он использует эти стандартные форматы, в вашу игру можно играть практически на любом компьютере, телефоне, планшете и т. д.
По умолчанию игры Twine в SugarCube выглядят довольно ужасно. Это побуждает поставить свой собственный визуальный стиль для вашей игры. Хорошие новости: поскольку вы уже немного знаете CSS, это довольно просто.
Чтобы отредактировать CSS истории Twine, нажмите на название своей истории на ее главном экране «карты истории», затем нажмите на «Редактировать таблицу стилей истории». - "Edit Story Stylesheet." Это загрузит экран, который является просто старым (пустым) файлом CSS.
 
Изменение настроек по умолчанию
Поскольку игры Twine представляют собой обычные HTML-файлы, неудивительно, что внешний вид большинства вещей в вашей игре по умолчанию изменяется стилизацией элемента body (элемент самого высокого уровня в HTML «дерево документов».)
Добавление следующего кода, например, изменит цвет фона на белый, сделает значением по умолчанию
цвет темно-серый, изменит шрифт по умолчанию на Futura и сделает размер шрифта по умолчанию немного больше:
body {
 background-color: white;
 color: darkgrey;
 font-family: Futura,Impact,Helvetica,sans-serif;
 font-size: 125%;

Опять же неудивительно, что изменение цвета и поведения ссылок достигается за счет стилизации элемента, HTML-элемента для ссылок:

a {
 color: red;
}
a:hover {
 color: crimson;
 text-decoration: underline;


Изменение внешнего вида отдельных passages

Итак, это меняет настройки по умолчанию для всей игры. Но что, если вы хотите, чтобы конкретный пассаж
имел свой собственный цвет фона или свой особый шрифт?
Опять же, Twine лучший, и он делает это довольно легко. Первое, что вам нужно сделать, это открыть passage, с которым вы хотите сделать что-то особенное. Прямо под названием отрывка есть опция с надписью +tag. Нажмите на нее, чтобы добавить тег по вашему выбору. Например, предположим, что мы хотим добавить тег под названием ""hooray" для определенного счастливого прохождния. Напишите слово ура и нажмите на галочку.
Теперь нам нужно создать набор инструкций для вашего веб-браузера, которым он будет следовать при отображении этого отрывка.
Для этого мы вернемся на страницу "Edit Story Stylesheet" и создадим класс CSS с именем, соответствующим «тегу», который мы вставили выше. В этом случае мы создаем класс с именем hooray (помните, что в CSS перед именами классов должна стоять точка)
.hooray {
 background-color: pink;
 color: cornflowerblue;
 font-size: 200%;
}

Теперь, когда ваш игрок доберется до этого прохода, его встретит розовый фон и большой синий текст.

 Скрытие боковой панели
Если вам не нужна боковая панель, которая есть по умолчанию в играх SugarCube, вы можете легко скрыть ее. Просто введите следующий код в файл CSS вашей истории.
 
#ui-bar { display: none; }

(SugarCube помещает боковую панель в HTML-элемент div с идентификатором ui-bar. Эта инструкция CSS просто говорит вашему браузеру не отображать этот элемент div.)
Поскольку по умолчанию ваша история освобождает место для боковой панели, вы также можете добавить следующий код для стилизации основного элемента вашей истории:

body {
 margin-left: 3.5em;
}


Добавление собственного HTML и его стилизация с помощью CSS

Как видите, Twine сам добавляет основную HTML разметку. Вам не нужно вводить собственный HTML-код для абзацев, например: он вставляет <p> для вас. Но если вам недостаточно такого способа вставки HTML в вашей игре, вы можете ввести свой собственный HTML-код прямо в проход (оно же passage).
Например, можно захотеть создать жуткий эффект, при котором текст исчезает, если пользователь наводит на него указатель мыши. Это можно сделать, вставив свой собственный HTML-элемент div в отрывок Twine и стилизовав его с помощью CSS.
Например, у вас может быть отрывок, в котором говорится следующее:

В небе жуткий НЛО.
<div class="aliens">Когда вы смотрите на него, он исчезает.</div>
Но вы уверены, что он есть.

Затем вы можете добавить несколько строк в файл CSS вашей истории, в котором вы стилизуете класс aliens этого div, чтобы сделать его исчезающим при наведении курсора мыши на элемент.
 

© 2016 Adam Hammond
adamhammond.com
https://www.adamhammond.com/wp-content/uploads/2016/03/hammond_twineguide_2_programming.pdf
В этом руководстве объясняется, как использовать переменные и выполнять базовое программирование в Twine. Все эти
инструкции основаны на формате истории SugarCube. Прежде чем начать, убедитесь, что ваша Twine игра
настроена на формат SugarCube. Для этого нажмите на название своей истории в ее главной
вид «карта-история». Выберите «Изменить формат истории» и установите флажок рядом с «Sugarcube».(в последних версиях инетрефейс изменился, но все равно найти можно)
Что такое переменная?
Переменная — это контейнер, содержимое которого можно изменить. (Он получил свое название из-за того, что его содержимое
«переменное».) Думайте об этом как о конверте. Вы можете положить в конверт лист бумаги с надписью «Адам».
Вы можете положить в него лист бумаги с надписью 9. Вы можете вложить в него целый роман.
Переменные имеют имена и значения. Значением переменной является описанное выше «содержимое» — слово
«Адам», или цифра 9, или весь роман. Имя — это просто сокращение, которое Twine будет использовать для доступа к
чему бы то ни было в нем. Вы должны выбрать имя переменной, но вы можете называть ее как хотите.
Единственное правило состоит в том, что переменные Twine всегда должны начинаться со знака доллара ( $ ). Чтобы оживить переменную, используйте
Команда SugarCube <<set>>, которая делает две вещи: создает переменную с определенным именем и дает ей
его начальное «значение» ( "value.")

<<set $myvariable to "Adam">>
<<set $myothervariable to 99>>
<<set $yetanother to true>>

Вот три основных типа переменных, которые могут понадобиться: текстовые (также известные как «строки» - "strings"), числа (также известные как «числовые» - "numeric" переменные) и true/false (логические - "booleans" значения). Обратите внимание, что вам нужно поместить в кавычки содержимое текстовых переменных. Не используйте кавычки для чисел или переменных true/false.

Приложение №1: Использование ключа в вашей игре
Допустим, вы делаете игру о побеге из замка. Для того, чтобы иметь возможность выйти из замка, ваш
игрок должен найти ключ к двери. Этот ключ спрятан в каком-то непонятном месте вашей игры; вы намеренно сделали его трудным для поиска.
Вам понадобится переменная с именем вроде $hasKey, которая будет принимать одно из двух значений: false, когда у игрока его нет, и правда, когда она его находит.
По умолчанию у игрока нет ключа. Итак, в начале прохождения вашей игры вы захотите создать свою
переменную и установите для нее значение false , например:
 
<<set $hasKey to false>>

 В отрывке, когда ваш читатель входит в потайную комнату и находит ключ, вы захотите установить
значение $hasKey в true . Вы можете сделать это, вставив в этот отрывок (прим. в оригинальном тексте отрывок - passage - так называются блоки кода внутри Twine, аналог локации в QSP) следующую строку кода:
 
<<set $hasKey to true>>
 
(Обратите внимание, что <<set>> может создавать переменные, но если переменная уже существует, она просто изменяет своё значение.)

Хорошо, а теперь представьте, что мы находимся в прохождении вашей игры, где игрок, наконец, добрался до главной двери замка и пытается сбежать. Если у него есть ключ, он может сбежать. Если ключа нет, он этого не сделает. Чтобы реализовать это, вы можете использовать функцию SugarCube <<if>>, например:

<<if $hasKey is true>> Вы вставляете ключ в дверь, и она открывается. 
Вы [[проходите через дверь|наружу]]. 
(прим. Если вы пишите игру на русском языке, то ссылки в квадратных скобках и названия пассажей (отрывков) прописанные по-русски будут работать также как и английские, но если вы переводите игру, то, чтобы не ломать код можно сохранить английский оригинал названия пассажей  [[walk through the door|outside]] потому, что они могут быть нужны для другой части кода. Левая часть ссылки в квадратных скобках до вертикальной черты: walk through the door - название ссылки как она будет отображаться в тексте игры. Справа от вертикальной черты название отрывка (passage) куда вы перейдете по ссылке)
<<elseif $hasKey is false>> Вы пытаетесь открыть дверь, но она заперта и не поддается. Вам нужно будет [[продолжать искать ключ|start]].
<</if>>

Еще раз:
1 <<if $hasKey is true>>You insert your key into the door and it opens. You
   [[walk through the door|outside]].
2 <<elseif $hasKey is false>>You try to open the door, but it's locked, and it
    won't budge. You'll need to [[keep looking for the key|start]].
3 <</if>>

Twine начинает с оценки первой строки оператора if; если это не так, он смотрит на первый elseif
строка, затем просматривает остальные строки elseif (если они есть) и прекращает работу, когда она
достигает <</if>>, что означает, что оператор if закончился. В дополнение к if и elseif вы также можете
написать else , что просто означает «Если ни одно из условий if или elseif не выполняется, сделайте это.) Также обратите внимание, что если вы работаете с числами, вы можете использовать условные операторы, такие как gt ("больше") и lt ("меньше").
чем") вместо просто is.

Все это означает следующее. Во-первых, Twine проверит, является ли значение $hasKey is true. Если это так, то отобразит текст «Вы вставляете свой ключ в дверь, и она открывается» и дает пользователю возможность щелкнуть по ссылке на проход за пределы замка. Если значение $hasKey не true, Twine не будет отображать этот текст для пользователя, и пользователь не сможет нажать на эту ссылку. Теперь Twine оценит следующую возможность. Здесь он оценит, является ли значение $hasKey is false. Если оно false - ложно (что так и есть по умолчанию, так как мы установили это в качестве начального значение в начальном пассаже), то Twine отобразит текст «Вы пытаетесь открыть дверь, но она заперта, и не сдвигается с места», и единственным вариантом будет щелкнуть ссылку, которая вернет игрока к старту игры, чтобы заново начать поиск этого неясного прохода, где $hasKey имеет значение true (прим. в оригинале $hasKey is set to true)

 Приложение №2: Проверка имени игрока
Скажем, вы хотите сделать игру, в которой вы спрашиваете имя игрока и узнав его, даете какой-то индивидуальные ответ.
В первом "passage" используйте встроенный код SugarCube для отображения текстового поля и "приклеивания" всего, что игрок впишет в переменную:
 
Введите ваше имя:
<<textbox "$name" "">>
Когда будете готовы, нажмите [[здесь]].
 
Этот код указывает, что все, что игрок вводит в текстовое поле - text box, будет сохранено в переменной с именем
$name («» просто означает, что в поле нет текста по умолчанию — если написать «Введите свое имя
здесь» в этом месте текстовое поле изначально будет отображаться с надписью «Введите свое имя здесь».)
Теперь, на следующей странице, вы можете сделать так, чтобы ваша игра отображала специальное сообщение, если кто-то
вписали свое имя как «Адам».
 
<<if $name is "Adam">>Эй, тебя зовут Адам! Как и меня!
<<else>>Привет, $name.
<</if>>

Twine будет отображать только «Эй, тебя зовут Адам! Меня тоже!» если переменная $name равна «Адам».
В противном случае — <<else>> — он просто скажет «Привет» и повторит ей имя человека в ответ (да, это круто).
дело в переменных. Если вы введете имя переменной в обычный фрагмент текста, Twine заменит его на
значение переменной, когда она фактически показывает его игроку.)

Приложение №3: Запись «счастья» игрока
Допустим, вы хотите, чтобы ваша игра постоянно подсчитывала, насколько «счастлив» ваш игрок. Вы могли бы сделать это
с числовой переменной. Например, в начале игры вы можете включить:
 
<<set $happiness to 0>>

Затем, всякий раз, когда происходит что-то, что делает вашего игрока счастливым, вы можете включить эту строку:
 
<<set $happiness to $happiness + 1>>
 
Если уровень счастья игрока равен нулю перед этим passage эта строка кода установит его равным 1 (0 + 1 = 1). Если
уровень счастья игрока равен 3, эта строка кода установит его на 4 (3 + 1 = 4). Причина, по которой вы не
хотите, чтобы эта строка была <<set $happiness to 1>>, так это сотрет все ваши "текущие подсчеты", и просто установит значение счастья на 1, независимо от того, насколько счастлив был ваш персонаж до того, как наткнулся на это
конкретный пассаж.
Когда происходит что-то, что делает вашего игрока несчастным, вы можете включить эту строку кода:
<<set $happiness to $happiness - 1>>
Позже предположим, что вашему игроку звонит друг. Если их уровень счастья выше определенного
порога, они решают пойти за мороженым. Если их уровень счастья ниже этого порога, они не
берут трубку и остаются внутри. Вы можете закодировать это следующим образом:

<<if $happiness gte 5>>Вы берете трубку, она приглашает вас на мороженое, и вы [[уходите]].
<<else>>Вы не хотите брать трубку. Я думаю, ты никогда не узнаешь, что она
хотела тебя спросить. Ты [[остался дома]].
<</if>

Здесь, если ваша переменная $happiness имеет значение 5 или выше (gte на языке SugarCube означает «больше чем или равно"), ваш игрок получит возможность перейти к пассажу с мороженым. В противном случае — <<else>> —
их единственный вариант — перейти к проходу «оставаться дома».
Это всего лишь несколько примеров для начала. Если вы взволнованы этим, вы захотите посетить эту страницу
полный список макросов SugarCube 1.x: http://www.motoslave.net/sugarcube/1/docs/macros.html
Если вы действительно разбиретесь во всем этом, я настоятельно рекомендую вам установить SugarCube 2.0, который является немного полнее и веселее. Инструкции по его загрузке и полная документация находятся по адресу:
http://www.motoslave.net/sugarcube/2/

 https://collection.eliterature.org/3/work.html?work=kuryokhin
ГТА и СИМС4 нервно курят в сторонке.
Но мне нечто такое простое пригодится для примера
https://www.motoslave.net/sugarcube/2/docs/#macros -ШугарКуб 2

Tweego - Зачем использовать Tweego? Tweego позволяет вам писать проекты Twine, используя ваш любимый текстовый редактор, а не программу Twine . Вы пишете отрывки в виде простых текстовых файлов, используя нотацию Twee , в любом количестве файлов по вашему выбору, что может сделать работу и совместную работу над проектами Twine быстрее и проще. Когда вы будете готовы к публикации или тестированию, вы просто скомпилируете все файлы своего проекта в .htmlфайл с помощью Tweego.
https://www.motoslave.net/tweego/ - скачать

https://www.motoslave.net/tweego/docs/ - как пользоваться Tweego

https://twinery.org/cookbook/introduction/story_formats.html - Twinery cookbook


https://www.youtube.com/watch?v=KAQJQ7VjIk4 пример, плащ судьбы
https://www.adamhammond.com/twineguide/ - пошаговые инструкции. Первые шаги в Twine.

https://github.com/hogart/sugar-cube-utils - куча каких-то макросов для Twine

http://www.motoslave.net/tweego/docs/#twee-notation


Profile

blocknote

September 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324 252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios