Авторизация
×

Логин (e-mail)

Пароль

Интерактивные истории, текстовые игры и квесты
Гиперкнига

Библиотека    Блог

Посетите наш новый сайт 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

Программа замечательная. Но есть ли в ней возможность делать одноразовые группы ссылок?

Пример: идет диалог персонажей, есть три варианта реплики. Необходимо, чтобы игрок выбрал один из вариантов, и результат отобразился на этой же странице, но при этом, чтобы и эта ссылка, и две другие стали недоступными (чтобы игрок не подглядел, что было бы, если бы он выбрал другой вариант). Как это сделать?
Morych
08.04.13 17:29

Несколько вариантов решения проблемы предложены на форуме: http://forum.ifiction.ru/viewtopic.php?id=1792&p=8
Кельта
16.04.13 22:15

Вот вынырнула я из написания диплома и открыла Гиперкнигу. Если честно, то мне стало обидно, что я сюда не заглядывала уже несколько месяцев и не успела одной из первых опробовать новые возможности, не покритиковала и не по придумывала необходимости новых возможностей...

Спасибо разработчикам, а у меня клавиатура зачесалась.

Для того, чтобы оставлять комментарии, необходимо зарегистрироваться и подтвердить в профиле указанный e-mail адрес.

При использовании любых материалов блога обязательно указание ссылки на источник