Вот мы и добавили метку «магнум». Обращаю ваше внимание, что ключ мы добавили перед переходом. Это важно, ведь переход осуществляется (вы не поверите!) в точке перехода, а не после нее. Но давайте продолжим. Впереди вторая развилка.
$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/
Удачи!