[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Ahahala  
Форум » _Творчество » Уроки переходов » Урок 3. Предметы и События (Метки и их использование в переходах)
Урок 3. Предметы и События
AhahalaДата: Понедельник, 07 Апр 2014, 22:50 | Сообщение # 1
Древний наставник Демиургов
Группа: Жители
Сообщений: 224
Награды: 30
Репутация: 1227
Замечания: 0%
Статус: Отлучился по делам
Сегодня я хотел бы оговорить об интерактивности. Интерактивность — это возможность взаимодействовать с окружением. Подлинная интерактивность недостижима даже в современных компьютерных играх, но ее основы можно реализовать и в тестах. Если вам интересно узнать, как можно добавить в тест используемые предметы, или события, влияющие на сюжет — этот урок поможет вам.

По сути, добавить предмет просто. мы используем команды группы str. Их три:

$question=cmd(stradd)=X добавляет метку X.
$question=cmd(strsub)=X убирает метку X.
$question=cmd(strreset) убирает все метки.


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

$question=Жила-была Красная Шапочка. Однажды, Шапочка набрала полную корзинку пирожков и пошла к своей бабушке через лес. И вот шла она через лес, шла, и вдруг увидела на земле чей-то револьвер. Она знала, что идти через лес опасно, но не хотела брать оружие…
$answer=она не стала трогать огнестрельную гадость и пошла дальше=0
$answer=она подняла револьвер=1

$question=cmd(jump)
$answer=0:0=вторая=0
$answer=1:1=рев=0


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

$question=Она присела и взяла в руку тяжелое оружие. Магнум, калибр 45.Ее сразу охватила уверенность в себе, рукоять легко легла в ладошку, будто была создана для нее. Шапочка поднялась и пошла дальше.=рев
$answer=ну-ну..=0

$question=cmd(stradd)=магнум

$question=cmd(jump)
$answer=0:0=вторая=0


Прикрепления: 0840730.jpg (3.4 Kb)
 
AhahalaДата: Понедельник, 07 Апр 2014, 22:52 | Сообщение # 2
Древний наставник Демиургов
Группа: Жители
Сообщений: 224
Награды: 30
Репутация: 1227
Замечания: 0%
Статус: Отлучился по делам
Вот мы и добавили метку «магнум». Обращаю ваше внимание, что ключ мы добавили перед переходом. Это важно, ведь переход осуществляется (вы не поверите!) в точке перехода, а не после нее. Но давайте продолжим. Впереди вторая развилка. 

$question=Шапочка быстро бегала, даром, что ножки маленькие. Вскоре она встретила перевернутую телегу, рядом с которой валялась дубина. Еще один намек, что оружие стоит взять.=вторая
$answer=Нет! В сказке такого не было, пошли дальше.=0
$answer=Возьмем дубину.=1
$answer=Мы тут с Шапочкой подумали… Давай вернемся назад.=2

$question=cmd(jump)
$answer=0:0=волк0=0
$answer=1:1=дубина1=0
$answer=2:2=назад=0

$question=Дубина оказалась треснута, и очень тяжелая. Шапочка еще раз задумалась...=дубина1
$answer=Что?=0

$question=cmd(jump)
$answer=магнум=зачем=0
$answer=0:0=дубинадальше=0


А вот и сам переход с условием. Условие реализовано просто — в переходе вместо веса мы используем слово-метку. Важно помнить, что сначала проверяются более высокие условия. Т.е. если мы поставим проверку 0:0 перед меткой, то до метки дело вообще не дойдет.

Добавлено (07 Апр 2014, 22:51)
---------------------------------------------
Не будем пока трогать волка. Для начала мы распишем путь назад.

$question=Шапочка быстро бежала обратно. Лес напугал девочку. Вскоре показалась прогалина, где лежал револьвер.=назад
$answer=ага, помню=0

$question=cmd(jump)
$answer=магнум=первая0=0
$answer=0:0=первая1=0

$question=Шапочка вновь оказалась на полянке, рядом со страшным оружием. Может стоит все-таки его взять?=первая1
$answer=Да, нужно=0
$answer=Нет. И вообще, зачем мы возвращались. Вперед!=1
$answer=Да зачем нам револьвер, к черту вообще весь этот лес, домой-домой...=-100

$question=cmd(jump)
$answer=0:0=рев=0
$answer=1:1=вторая=0
$answer=-100:-100=конец

$question=Шапочка вновь оказалась на полянке, где подобрала страшное оружие. И что теперь?=первая0
$answer=Положим револьвер обрано=0
$answer=Нет. И вообще, зачем мы возвращались. Вперед!=1
$answer=Да зачем нам револьвер, к черту вообще весь этот лес, домой-домой...=-100

$question=cmd(jump)
$answer=0:0=рев2=0
$answer=1:1=вторая=0
$answer=-100:-100=конец


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

$question=Шапочка сунула руку за пазуху, взяла револьвер, и неохотно выкинула его на землю. Выкинув оружие, она побежала дальше.=рев2
$answer=ну-ну..=0

$question=cmd(strsub)=магнум

$question=cmd(jump)
$answer=0:0=вторая=0

Добавлено (07 Апр 2014, 22:51)
---------------------------------------------
Все. Удаление полностью аналогично добавлению, только команда другая. Давайте по аналогичному принципу закончим эпизод с дубиной.

$question=«Зачем нужна дубина, если есть револьвер?» — подумала Шапочка и пошла дальше.=зачем
$answer=И правильно!=0

$question=cmd(jump)
$answer=0:0=волк0=0

$question=Шапочка нагнулась и с трудом взвалила дубинку на плечо. А потом снова поша дальше.=дубинадальше
$answer=И правильно!=0

$question=cmd(stradd)=дубина

$question=cmd(jump)
$answer=0:0=волк0=0


Все, теперь у нас есть три ветки, три варианта ключевых развилок — с пустыми руками, с магнумом и с дубиной. А теперь, давайте поговорим о волке…

$question=Шапочка медленно шла по лесу. Вокруг грозно скрипели сосны. И тут, послышался треск ломающихся веток. На тропу выскочил Волк.=волк0
$answer=Ой!=0

$question=cmd(jump)
$answer=дубина=волк1=0
$answer=магнум=волк2=0
$answer=0:0=волк=0

$question=- Так-так, кажись обед пришел сам. Гы, похоже этого волка сегодня накормят твои ноги — волк мерзко усмехнулся и оскалился — Куда идешь?
— К б-бабушке — Шапочка дрожала от страха.
— А в кошелке пирожки, значит. Ладно, плевать, все равно мяса на сегодня хватит. — Волк снова оскалился, на этот раз уже прижавшись к земле.=волк
$answer=бежать!=-200
$answer=Кричать!=0

$question=cmd(jump)
$answer=-200:-200=конец
$answer=0:0=охотник=0

$question=- Так-так, кажись обед пришел сам. Гы, похоже этого волка сегодня накормят твои ноги — волк мерзко усмехнулся и оскалился — Куда идешь?
— К бабушке. А ты иди лесом — Шапочка угрожающе потрясла дубиной.
— Ладно, дрянь мелкая. Расходимся. — Волк развернулся и зло поковылял прочь.=волк1
$answer=Фу, пронесло=0

$question=cmd(jump)
$answer=0:0=охотник1=0

$question=- Так-так, кажись обед пришел сам. Гы, похо… ОЙ. — Волк уставился на пушку. Дуло было таким большим…
— давай, волчара, пшел отсюда, пока мозги по траве не растеклись. — Шапочка явно вошла во вкус.
— Э… хорошо-хорошо, я уже ушел! — Волк медленно попятился в кусты.
— Тебе повезло, что меня ждет бабушка, иначе я бы обрела серую шубку. — Прокричала вслед Шапка.=волк2
$answer=Лано, поиграли и хорошо, идем дальше.=0

$question=cmd(jump)
$answer=0:0=охотник1=0

Добавлено (07 Апр 2014, 22:52)
---------------------------------------------
Вот, собственно говоря, и первая встреча с волком. Теперь сделаем небольшой эпизод с охотником и перейдем к финалу. По большому счету, можно было бы написать разные ветки под каждый вид оружия — как это сделали с волком — но я хочу закрепить момент развилки по меткам.

$question=Шапочка закричала. Грянул выстрел. Волк сбежал. Шапочка поежилась.=охотник
$answer=Уф, что дальше?=0

$question=cmd(jump)
$answer=0:0=охотник1=0

$question=Из леса вышел охотник. Мощный, немолодой мужик с ружьем на плече. Он посмотрел на девочку и спросил:
— Что ты тут делаешь сама? Тут же волки водятся!=охотник1
$answer=Ой, спасибо, все хорошо, я должна бабушке пирожки отнести, не волнуйтесь!=0
$answer=Шел бы ты отсюда. Тебя не звали.=10

$question=cmd(jump)
$answer=0:0=дом=0
$answer=10:10=дом1

$question=Охотник покивал и удалился, пообещав быть поблизости. А волк, тем временем пробрался в дом бабушки и проглотил ее. Укутался в одеяла и стал ждать Шапочку. И она вскоре пришла.=дом
$answer=Что было дальше?=0

$question=cmd(jump)
$answer=дубина=вдоме1=0
$answer=магнум=вдоме2=0
$answer=0:0=вдоме=0

$question=Охотник обалдел от такой нагости и хамства и решил оставить девочку самой решать все свои проблемы. А волк, тем временем пробрался в дом бабушки и проглотил ее. Укутался в одеяла и стал ждать Шапочку. И она вскоре пришла.=дом1
$answer=Что было дальше?=0

$question=cmd(jump)
$answer=дубина=вдоме1
$answer=магнум=вдоме2=0
$answer=10:10=вдоме

Добавлено (07 Апр 2014, 22:52)
---------------------------------------------
Я думаю, вы уже заметили этот вес в 10 балов, который остался в последующих перекрестках. Это еще один способ добавления «предметов» или, как в данном случае событий. Он и удобнее и сложнее. Удобнее он для использования в небольших тестах, где можно легко и быстро прописать нужные вариации и больших развилок не предвидится. А неудобен он именно в больших тестах, где каждый раз приходится дублировать значения на развилках. Поэтому, я удалил его вес в ветке «магнум», поскольку для этой ветки охотник не важен. Ладно, пора заканчивать. Кульминация:

$question=Шапочка медленно зашла в дом. Бедная девочка перепутала в темноте волка с бабушкой и поняла свою ошибку слишком поздно. Волк придавил ее к полу, выбор остался небольшой.=вдоме
$answer=Кричать!=100
$answer=Молча бороться!=-300

$question=cmd(jump)
$answer=-300:110=конец

$question=Шапочка медленно зашла в дом. Бедная девочка перепутала в темноте волка с бабушкой и поняла свою ошибку слишком поздно. Она успела стукнуть волка дубиной, но прижал ее к стене. Выбор остался небольшой...=вдоме1
$answer=Кричать!=100
$answer=Молча бороться!=-300
$answer=Попробовать снова двинуть зверя дубиной=200

$question=cmd(jump)
$answer=-300:210=конец

$question=Шапочка медленно зашла в дом. Бедная девочка перепутала в темноте волка с бабушкой и поняла свою ошибку слишком поздно. Но зверь медлил. Он помнил, про оружие маленькой Шапочки. И пока он готовился к последнему прыжку, девочка успела навести на него пистолет. У нее был один выстрел.=вдоме2
$answer=В голову=-400
$answer=В туловище=300

$question=cmd(jump)
$answer=-400:300=конец

$question=А тут и сказке конец...=конец
$answer=Серьезно?=0

Добавлено (07 Апр 2014, 22:52)
---------------------------------------------
Теперь напишем результаты.

$results=

$result=Бабушка умерла=-100:-100=С голодухи. Внучка испугалась идти через лес, не принесла еды, бабушке нечего было есть… Не нравится мне эта сказка.

$result=Красную Шапочку сожрали в лесу=-200:-200=Девочка побежала, но почти сразу споткнулась. торчащий корень пробил ей глаз, она умерла сразу, поэтому не смогла закричать, когда волк начал ее кушать…

$result=Красную Шапочку сожрали в доме=-350:-280=Девочка молча и храбро сражалась, но что может хрупкое тельце против такой злобной мощи. Волк рванул вперед, вырвал зубами кусок шеи и Шапочка быстро истекла кровью.

$result=Красная Шапочка промазала=-450:-380=Было темно, времени было мало, девочка стреляла неточно… Пуля снесла волку ухо и опалила шерсть на голове. Но зубы, острые зубы, которые впились в лицо девочки, остались невредимы.

$result=Красная Шапочка кричала напасно=110:110=Шапочка успела крикнуть несколько раз, отчаянно зовя на помощь, но никто не пришел к ней. Она просто погибла в муках.

$result=Красную Шапочку спасла дубина=210:210=Шапока резко и быстро ударила волка по голове. Бедное животное взвыло от боли, а девочка тем временем ударила его по ребрам. Зверь сбежал прихрамывая. Жаль, бабушку уже не вернешь…

$result=Красную Шапочку спас дровосек=100:100=Он услышал крик и сразу прибежал. Он выстрелил в зверя, размозжив ему голову. Вспоров пузо, оттуда достали полуживую бабушку (КАК?!), и все жили долго и счастливо. Ну, кроме волка.

$result=Красную Шапочку убил дровосек=200:200=Случайно. Она врезала волку дубиной по голове, тот взвыл. Дровосек услышал и кинулся в дом. Выстрелил наугад, девочке оторвало руку. Он вбежал в дом, увидел, что натворил и тут же повесился на балке. А мораль… да какая тут мораль, грустно все это.

$result=Красную Шапочку спас магнум=300:300=Она выстрелила в волка, продырявив его насквозь. Ударной силой, зверя отбросило в стену. Шапочка не знала, что своим выстрелом прервала жизнь своей бабушке в животе волка. Хорошо, что не знала, иначе бы повесилась, как охотник в другой концовке.


Вот и все. Мы не осветили команду — удаление всех меток, но она нужна достаточно редко, при переходе на совершенно новый этап, или при возврате в начало. Как обычно, рабочий тест вы сможете найти по ссылке:
aeterna.qip.ru/test/view/176387/

Удачи!

Прикрепления: 8698731.jpg (9.2 Kb)
 
Форум » _Творчество » Уроки переходов » Урок 3. Предметы и События (Метки и их использование в переходах)
  • Страница 1 из 1
  • 1
Поиск: