\Переменные
Обо всех командах Редактора можно прочитать тут \Команды
Подробнее о командах \выбор, \если, \ввод() и \вывод() - тут \О развилках, вводе и выводе
Представим, что мы идем в поход. У нас есть рюкзак с бесконечным количеством карманов. В один из них мы положили 3 печенья и назвали его карман «для печенья».
По пути нам встретилась табличка: «Если идете верхней тропой, то возьмите синюю ленточку, если нижней – красную». Мы выбираем идти верхней тропой и берем синюю ленточку, которую кладем в пустой кармашек, названный «верхняя тропа».
По дороге мы проголодались и стали думать, сколько печений съесть: 1, 2 или 3. Мы решили съесть все три печенья и теперь в кармане «для печенья» 0 печенья.
Вдруг нам встречается путник, который говорит, что его зовут Олег. Чтобы не забыть его имя, мы берем бумажку и записываем на нее имя «Олег» и кладем в кармашек, который назвали карман «с именем путника». Теперь всегда, когда мы его видим, мы можем заглянуть в этот карман с именем и вспомнить, как его зовут.
Поздравляем, вы только что ознакомились с принципом работы и использования переменных.
Простыми словами, переменная – это кармашки в рюкзаке из нашего примера. Чтобы программа знала, какую конкретно информацию из какого «кармана» нужно использовать, у каждого такого «кармана» должно быть уникальное имя (написанное без пробелов) – «имя_переменной», по которому и программе и нам, людям, понятно, какая информация (=вещь: количество печенья, имя, уровень настроения и т.д.) в ней хранится – «значение переменной» с условием, что засовывать в кармашек, предназначенный для имени, печенье – нельзя.
Итак,
Переменная — это обновляемая ячейка для фиксации, хранения и применения информации в нужном нам месте.
Имя переменной — это уникальный идентификатор (пишется без пробелов), который нужен, чтобы использовать значение переменной. Имя может состоять из букв верхнего и нижнего регистра, цифр и знака «_» вместо пробела.
Значение переменной — это буквы или числа, которым равна переменная. Если значение переменной числовое, то мы можем совершать с ним математические операции сложения, вычитания или сравнения, если буквенное (=в нем есть хотя бы одна буква) – то нет. Значение переменной следует делать числовым, если предполагается его дальнейшее изменение (обновление).
В Мейконе переменные записываются с помощью команды: \переменная или \п (сокращенно). Можете использовать любую.
Для чего они нужны? С их помощью мы фиксируем:
1) базовые (изначальные) характеристики в истории: количество денег, здоровья, уровень настроения и т.д.
2) совершенные действия (=последствия выборов): уменьшение количества денег в связи с покупкой, повышение уровня здоровья после элексира, улучшение или ухудшение отношений и т.д.
3) условия для конкретного развития история: если денег больше 100, то мы можем купить медведя стоимостью 99 монет, если уровень дружбы меньше 20, то нас не приглашают на вечеринку и т.д.
Все это можно сделать с помощью трех видов операций (+ пример записи):
- 1. Присвоение (=) значения числовой или буквенной переменной
- \переменная(сила=4)
- \п(пароль=14255ab)
- 2. Обновление (+,-) значения числовой переменной с помощью математической операции «сложение +» или «вычитание -»
- \п(сила+1)
- \переменная(здоровье-4)
- 3. Сравнение (<, <=, >, >=, =) значения числовой переменной с требуемым числовым значением (для постановки условий в таблице команды \если)
- радость<5
- радость<=5
- воля>100
- путь_льда>=16
- ответНаЗагадку=ножницы
– Переменные создаются автоматически при первом их упоминании. Изначальное значение любой созданной переменной равно нулю.
Что это нам дает? Вы впервые пишете \п(здоровье-88) (операция вычитания), а программа самостоятельно создает переменную с именем «здоровье» и значением 0, отнимает от него 88 пунктов, и запоминает новое значение переменной как \п(здоровье=-88). То есть если изначальное значение переменной подразумевается нулевым, то перед совершением действия с ней обозначать ее не нужно, как и высчитывать обновленное значение (это происходит автоматически).
– Записывать переменные следует там, где мы хотим, чтобы началось применение ее свойств.
Это значит, что перечислять все будущие переменные в начале истории не обязательно. Переменную можно указать (=создать) в том фрагменте текста, где она впервые применяется.
– При записи имен переменных регистр не учитывается
То есть ОтветНАЗАГАДКУ=ответназагадку=ОтВЕтнАзАгадку и т.д. — все равны, не бойтесь ошибиться
Разберем их применение на наглядных примерах.
Пример 1. Базовые характеристики: Мы пишем романтическую историю с тремя фаворитами: фаворит А) друг детства, давно влюбленный в ГГ, фаворит Б) сокурсник-бунтарь, недолюбливающий ГГ, и фаворит В) таинственный незнакомец, который появится только в середине истории.
Уровень их отношений с ГГ определяется показателем «симпатия», уникальным для каждого фаворита: \п(симпатияА), \п(симпатияБ), \п(симпатияВ)*. Мы хотим, чтобы у каждого из героев было изначально разное отношение к девушке. Для этого перед началом истории мы фиксируем стартовые значения нужных нам переменных:
- \п(симпатияА=20) – для друга детства, потому что по лору он влюблен в ГГ;
- \п(симпатияБ=-10) – для сокурсника-бунтаря, потому что по лору он пока недолюбливает ГГ;
- `ничего` – для незнакомца, так как он не знает ГГ, поэтому мы не хотим изменять значение переменной по умолчанию (оно равно 0), соответственно можем не указывать переменную «симпатияВ» до момента встречи с этим незнакомцем (совершения каких-то действий, на него влияющих).
Если нам нужно для истории, мы также можем указать стартовый уровень настроения \п(настроение=100), здоровья \п(здоровье=100), денег \п(деньги=10000) и т.д.
* Если вам удобно, вы можете давать переменным более короткие названия, например \п(симпА), \п(симпБ) и \п(симпВ) или даже \п(А), \п(Б), \п(В) – главное помнить, что они означают (для этого рекомендуем вам записывать все в заметках Редактора). Если у фаворита есть имя (вдруг), то вы можете записать развитие любовных отношений с ним с использованием его имени \п(Олег1), \п(Олег2), \п(Олег3) и т. д.
Пример 2. Последствие выбора: Мы даем игроку выбор (делаем развилку с кнопками), поблагодарить фаворита А за помощь, разозлиться на него или не заметить.
- Если мы благодарим его, то симпатия фаворита А к ГГ повышается. Мы записываем это в нужном столбце таблицы так: \п(симпатияА+5). Как мы помним, мы указали изначальное значение параметра «симпатияА» как 20. Соответственно, после совершения выбора «поблагодарить», значение переменной «симпатияА» станет равной 25*;
- Если мы злимся на него, то его симпатия к ГГ понижается на 10. Мы записываем это так: \п(симпатияА-10). Изначальное значения этой переменной 20, соответственно, после выбора ее значение становится 10;
- Если мы игнорируем его доброту, то его отношение к ГГ не меняется. «Не заметила, с кем не бывает». Значение переменной не обновляется, соответственно, мы ничего в столбце не записываем, оставляем ее значение, как есть (то есть 20).
* Будьте внимательны! Если вы ошиблись при записи имени переменной, то программа даст сбой (а точнее создаст новую уникальную переменную и совершит действие с ней), поэтому не делайте их слишком длинными: чем короче имя переменной, тем сложнее сделать в нем опечатку.
Пример 3. Условие: Мы хотим сделать так, чтобы фаворит А изменял манеру речи и отношение к ГГ в зависимости от уровня симпатии. Для этого мы ставим условие (делаем развилку без кнопок командой \если):
- «Если уровень симпатииА хотя бы 20, то он говорит с нами мило». Чтобы выполнилось это условие, мы должны проверить, соответствуют ли ему значение переменной. Для этого мы его проверяем так: в шапке столбца пишем симпатияА>=20. Если оно выполняется, то следующий текст начинается со слова «Приветики!» (данное развитие событий будет доступно, если в предыдущем выборе игрок нажал «поблагодарить» или «не заметить»);
- «Если уровень симпатииА меньше 20, то фаворит говорит с нами отстраненно». Чтобы проверить выполнимость этого условия, мы снова проверяем значение переменной: симпатияА<20. Если оно выполняется, то следующий текст начинается со слова «Привет.» (данное развитие событий будет доступно, если игрок ранее выбрал «разозлиться» на помощь).
В принципе, на этом все. Как работают команды развилок с выбором и «по условию», то есть без выбора, можно прочитать в этой статье: \О развилках, вводе и выводе
