Интерактивные истории, текстовые игры и квесты
Регистрация / Вход
Посетите наш новый сайт AXMAJS.RU
Выпущена AXMA Story Maker 1.9.7
DoubleDragon, 02.04.13 | Обновления ASM
Сегодня стала доступной для скачивания версия 1.9.7 программы AXMA Story Maker. В этот раз мы добавили в программу поддержку циклов. Цикл — это набор команд или текста, который выполняется указанное количество раз. Синтаксис циклов в общем случае выглядит так:<<loop n>>
Набор команд или текста
<<endloop>>
где n указывает на то, сколько раз будет выполнено содержимое цикла.
При этом n может быть числом или объектом, содержащим числовое значение, например:
<<set $n = 5>>
<<loop $n>>
Набор команд или текста
<<endloop>>
Если n<=0 или n — это объект, значение которого не является числом, то содержимое цикла не будет выполнено ни разу.
Блок команд может занимать несколько строк и может содержать в себе любые макросы, в том числе и другие циклы. То есть, циклы, как и макросы условного оператора, могут быть вложены друг в друга.
Также Вы можете использовать макрос <<break>>, который позволяет немедленно завершить выполнение текущего цикла. Сравните:
# Текст будет выведен 10 раз
<<loop 10>>
Какой-то текст
<<endloop>>
# Текст будет выведен 5 раз
<<set $i = 1>>
<<loop 10>>
Какой-то текст
<<if $i gte 5>>
# Прервать выполнение цикла
<<break>>
<<endif>>
<<set $i++>>
<<endloop>>
Обратите внимание, что макрос <<break>> можно использовать только внутри цикла.
* * *
Вторым изменением является то, что теперь в макросе <<random>> вместо числа параметром может выступать имя объекта, содержащего числовое значение:<<set $диапазон = 9>>
<<random $i = $диапазон>>
* * *
Ещё одно изменение касается макроса <<br>>, который, напомню, создаёт разрыв строки в произвольном месте. Иногда возникает потребность использовать его внутри других макросов, например, <<set>> или <<print>>. В этом случае вместо макроса <<br>> используйте тег <br> (не двойные, а одинарные угловые кавычки), например:<<print "Строка1<br>Строка2">>
* * *
И последнее изменение в программе касается использования методов Javascript в макросах (см. статью «Расширяем возможности макросов с помощью Javascript. Часть 1-я»). В данном случае дополнены возможности метода replace. Теперь для поиска и замены всех совпадений в строке можно использовать регулярные выражения. Например, в результате выполнения следующего кода:<<set $объект = "Абракадабра">>
<<print $объект.replace(/а/g,"у")>>
на экран будет выведено:
Абрукудубру
То есть все строчные буквы а будут заменены на букву у.
Как обычно, программу можно скачать здесь: http://sm.axmasoft.com/ru/Комментарии: 9.
Профиль
Закрыть
Показать все комментарии
07.04.13 18:29
Программа замечательная. Но есть ли в ней возможность делать одноразовые группы ссылок?Пример: идет диалог персонажей, есть три варианта реплики. Необходимо, чтобы игрок выбрал один из вариантов, и результат отобразился на этой же странице, но при этом, чтобы и эта ссылка, и две другие стали недоступными (чтобы игрок не подглядел, что было бы, если бы он выбрал другой вариант). Как это сделать?
08.04.13 17:29
Несколько вариантов решения проблемы предложены на форуме: http://forum.ifiction.ru/viewtopic.php?id=1792&p=8
16.04.13 22:15
Вот вынырнула я из написания диплома и открыла Гиперкнигу. Если честно, то мне стало обидно, что я сюда не заглядывала уже несколько месяцев и не успела одной из первых опробовать новые возможности, не покритиковала и не по придумывала необходимости новых возможностей...Спасибо разработчикам, а у меня клавиатура зачесалась.
Для того, чтобы оставлять комментарии, необходимо зарегистрироваться и подтвердить в профиле указанный
При использовании любых материалов блога обязательно указание ссылки на источник
Странно, что есть break, но нет continue.