Решил начать здесь ветку для парсерных игр в INSTEDe, проблем парсерных модулей. Надеюсь, модератор не удалит.
Я нашел в старом модуле парсера (не метапарсер) такую досаду: у меня в словарной базе есть два глагола:
up = "поднимись, вверх, наверх";
take = "подними, возьми, взять, поднять";
На введёную фразу "поднимись" игра находит в ней якобы два глагола, хотя ПОДНИМИСЬ отличается от ПОДНИМИ. Если убрать слово "подними" из take, то подняться можно и наоборот, если убрать "поднимись" из up, то станет возможным поднять предмет словом ПОДНИМИ. У меня вопрос к Петру: МОЖНО ЛИ УСОВЕРШЕНСТВОВАТЬ ДАННЫЙ ПАРСЕРНЫЙ МОДУЛЬ, ЧТОБЫ ПРОГРАММА ПОНИМАЛА ОБА ЭТИХ СЛОВА? Ввожу же не два глагола, а одно. И они по-разному заканчиваются. Пример игры с парсерным модулем прилагаю. Команда поднимись нужна во второй локации. Из первой во вторую - спустись или вниз. Во второй локации работает глагол вверх или наверх.
Вот ссылка на пример: http://adventuru.jimdo.com/instead/%D1% … /?logout=1
Отредактировано Vladimir (04.12.2014 01:48)
Неактивен
По старому парсеру. Я нашёл, как исправить ошибку. Теперь у меня всё работает. И поднимись, и понимись на гору, и подними канат, и поднимись наверх, и вверх, и идите наверх, и идите на скалы. Я решил сделать цикл уроков по парсерным играм. Там будет и платформа Instead. Сначала сделаю на простом парсере уроки, затем, когда разберусь с метапарсером - попробую и с ним уроки сделать.
Неактивен
Я начал разбираться с метапарсером. Пока разобрался только с изменением темы под метапарсер. Понял, что можно в графическое окно писать названия сцен, а можно ли сделать так, чтобы можно было вывести и картинку в графическом не скроллирующем окне и ещё повыше текст названия сцены?
А то картинка по этому фрагменту выводится, а текст Пролог выводится только в текстовом окне.
main = cutscene {
attr [[ ~intro ]];
nam = 'Пролог';
pic = 'image/location_02.png';
dsc = {[[Добро пожаловать в приключенческую игру "Иван Царевич"]]}
.....
Хотелось бы, чтобы было примерно так (Картинка находится в графическом окне. Название сцены перенёс из текстового окна в графическое в фотошопе):
Отредактировано Vladimir (05.12.2014 05:55)
Неактивен
Может вы не совсем меня поняли. Картинку статическую я хотел бы иметь во всех сценах (и конечно разные). Это я сделал. Но названия сцен выводятся под картинкой в текстовом окне. Я видел в Иване Царевиче, что можно в графическое окно помещать текст. Но это помещается вместо картинки. Либо название сцены либо картинка.
В theme.ini у меня стоит: scr.gfx.mode = float-middle-center
Экран scr вверху, win экран расположен ниже, inv экран под win экраном. Все работает нормально, картинки стоят, текст сколлируется. Единственный недостаток - названия сцен в текстовом win. Я по вашему совету изменил scr.gfx.mode = fixed. Запустил. Картинка встроилась в текстовой экран (по центру), не двигалась. Текста не было видно. Одни стрелки стояли. Приподнял координаты win экрана к верху. И все осталось по-прежнему. Как и раньше: картинки стоят, текст скролируется под картинками, но названия сцен в тексте. Пробовал вставить код приведённый выше - ничего не изменилось. Вот игра: http://adventuru.jimdo.com/app/download … 1417770298
Ага! Понял! Я сейчас сделал начало игры по шаблону, данному в интернете и всё получилось вместе с вашим кодом. Спасибо.
Отредактировано Vladimir (05.12.2014 12:52)
Неактивен
gloomy написал:
Советую прочитать начало документации по МП, иначе так придется для всех слов писать падежи (для тех, которых не было в иване царевиче), а этого не нужно делать!!!
P.S. Если уж так не хочется читать документацию - просто нажмите во время игры f11 - и по мере написания игры нажимайте снова - это будет обновлять словарь.
Понял, уже начал читать.
Неактивен
У меня вопрос по настройкам шрифтов окна
Запись в теме выглядит так, например: win.fnt.name = {theme/libs-b.ttf, theme/Bookman.otf, theme/palette.ttf, theme/arial.ttf}
С первыми тремя я разобрался: {основной текст, название сцен, приглашение к действию, ? }
А четвертый шрифт нигде не проявляет себя. Он где выводится?
Неактивен
С шрифтами я понял. Нр у меня тут проблемка ещё возникла. Сделал две темы адвентюрно-метапарсерной. Одна светлая, другая темная. Хотел сделать в программе изменение тем налету. Смена фонов на лету получилась, а вот со сменой цвета текста что-то не выходит.
Написал так:
theme.win.color ( white, white, white );
Может не правильно написал? В документации так: theme.win.color(fg, link, alink)
Поставил так:
theme.win.color(0, 0, 0);
И тоже не меняет.
Отредактировано Vladimir (08.12.2014 06:45)
Неактивен
Спасибо. Понял. Было бы лучше в документации иметь примеры ко всем командам (по одному, два), тогда таких вопросов бы не было. Тут у меня еще одно предложение по метапарсеру. Просмотрел НАСТРОЙКИ МЕТАПАРСЕРА и не нашёл отключение подсказок в виде выводимых глаголов при ручном вводе, которые имеются в игре. А то Было бы как в классическом варианте. Играющий вводит глагол, и если он имеется в словарной базе глаголов и синонимов, то он пишется в инпут строке, но как только встретилась буква, которая отсутствует в глаголах (базе) - просто вывести знак вопроса "?". Можно так сделать? Наверняка много исправлять придется в модуле. А фишка хорошая. Можно было бы кучу навводить синонимов и не видеть их в инвентарном окне. Можно было бы ввести "в" и дальше спокойно вводить и "взять", и "возьми", и "возьмите" и не видеть на экране этих синонимов. Сделайте, пожалуйста, этот параметр для метапарсера. Назвать его можно HIDEPROMPT (скрыть подсказки)
Неактивен
Про перечисленные вами настройки я знаю. Если их установить, то не будет глаголов в окне инвентаря,
НО Я ХОТЕЛ БЫ ЧТОБЫ ПРИ РУЧНОМ ВВОДЕ НЕ ВЫВОДИЛИСЬ НИКАКИЕ ГЛАГОЛЫ ПОД КУРСОРОМ.
ЧТОБЫ ПОД КУРСОРОМ БЫЛА ЧИСТАЯ СТРОКА. И ТОЛЬКО ИНОГДА ПОЯВЛЯЛСЯ БЫ ЗНАК "?",
КОГДА ВВОДИЛСЯ БЫ НЕ ИЗВЕСТНЫЙ ГЛАГОЛ.
Неактивен
gloomy написал:
В общем:
Код:
paser.hohints = true
Скопировал код, и вставил в игру.... Ошибка. Не понял. А когда заглянул в изменения метапарсера, то смотрю, а там написан код с parser.nohints
Всё заработало. Спасибо. Теперь настоящая классика.
Неактивен