|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Символы для парсера
Друзья!
Я помню, этот вопрос уже мельком поднимался, но сейчас он окончательно передо мной встал, поэтому прошу совета. В моей игре, сделанной в виде текстового квеста, подбор фраз - ключевой момент Вью, т.к. фактически это главный способ обратной связи. Изначально планировал формировать по кусочкам, но проблема возникает с их стыковкой с учётом родов/падежей, тавтологии, в общем, полный швах. Сейчас избрал другой подход - заранее заготавливать более крупные куски фраз, и снабжать их "тегами", увидив которые, парсер будет подменять их на более мелкие словесные вставки, обусловленные контекстом. Что-то типа: %ACTOR_NAME% замахнулся и %ATTACK_STRENGTH% ударил врага %EQUIPPED|P5% Таким образом, я рассчитываю получить более-менее связный текст с нужной степенью разнообразия. Вопрос. Каким образом вы порекомендуете обозначать начало и окончание каждого такого тега в тексте, чтобы не влепиться в какие-нибудь зарезервированные кем-то комбинации? Спасибо.
__________________
Не сломано - не чини! |
|
|||||
Что такое зарезервированная комбинация? и кто в вашем проекте их резервирует?
__________________
местонахождение |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Я имею в виду не в моём проекте, а в более широком пространстве: среда выполнения, операционка и т.п.
__________________
Не сломано - не чини! |
|
|||||
Или я вас не понимаю или вы что-то "накрутили" себе в голове
__________________
местонахождение |
|
|||||
Цитата:
Можешь и %% использовать с двух сторон. Это всё только для того, чтобы ты сам зрительно видел, что это именно переменная. Никакой роли это не играет. Кто-то делает, например {{someVar}} и парсят формат. В некоторых языках подобный функционал поддерживается из коробки (но не в ас3). Можешь не опасаться, что использование %% дернет какую-то переменную среды в системе) ас3 никуда просто так не вылезет из своей песочницы. Да и не только as3.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
caseyryan, большое спасибо. Я именно об этом и спрашивал.
Твой вариант не пойдёт, т.к. конструкции могут быть разной длины. Например, прямо в тексте содержать вариант для мужского и женского рода. Поэтому потребуется чётко обозначать начало и конец фрагмента.
__________________
Не сломано - не чини! |
|
|||||
Я сразу не обратил внимание, что у тебя там составные переменные внутри. В этом случае тебе придется регулярками искать ограниченную с двух сторон часть, поэтому с % могут возникать проблемы, когда у тебя там будут показаны проценты, ну типа %FOR|VALUE%%. Лучше используй какой-то другой ограничитель, которого в простом тексте точно не будет. Например, {{тут составная переменная}} или <<тут составная переменная>>
Но, в принципе, можно проценты в тексте передавать как PERCENT, а потом уже менять на % при парсинге. В общем, вариантов решения можно придумать много
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
я что-то забыл, а в as3 разве нет такого синтаксиса, как в js
?
__________________
while(live()) { hope(); } |
|
|||||
Интерполяции строк в as3 никогда не было.
__________________
местонахождение |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Друзья!
Посоветуйте, кто сталкивался, самому лениво думать. Я разобрался с регулярками для подстановки имён персонажей и наименований действий в нужных падежах и т.п. Теперь возник вопрос с вёрсткой. Какой-то текст нужно выделить жирным, другой - "покрасить" в цвет персонажа. Пока планирую повторить разметку html с тегами в угловых скобках. В частности, для жирного текста ставить теги <b> и </b>, а для текста главного героя ставить <pl> и </pl>. Что думаете по этому поводу? Возможно, кто-то решал подобные задачи и нашёл более эффективный метод. Тексты живут в файлах XML.
__________________
Не сломано - не чини! |
Часовой пояс GMT +4, время: 21:38. |
|
« Предыдущая тема | Следующая тема » |
|
|