Доброго вам времени суток!
Я давольно давно (с перерывами, правда) слежу за этим форумом и сайтом taplap.ru, качаю периодически статьи. Только вот всё времени не было как следует занятся всем этим.
А вчера сел-таки... Вытащил из закромов всю инфу по IF, которую собирал по всему рунету около года и сел разбираться. Проглядел имеющиеся исходники игр, мало чего понял. Всё, что смог разобрать было давным давно известно по практикуму в создании текстовых движков с менюшным вводом (коих в моих закромах порядка дюжины
). А вот как такового IF-движка с вводом команд как-то не получалось...
Начал копаться в статьях, тоже мало чего полезного... И тут наткнулся на статью Olegus'a, которую скачал с сайта taplap.ru. Алгоритм был расписан очень подробно и ясно. Чтож, решено, взялся делать...
Примерно через пол-часа мой VB6 уже исправно повторял всё описанное в статье, а именно: правильно разбирал фразу на составляющие, если она была построена по определённым правилам, описанным в статье. Например, что глагол должен всегда стоять до существительных.
"Блин!" - подумал я. - "Обломно, как-то!" И сел дорабатывать... Ещё через пол часа диких экспериментов и всяческого рода извращений движок стал забивать на порядок слов, лишь бы сама фраза была понятна человеку.
Написал функции загрузки словаря и отдельных таблиц для глаголов (точь в точь по статье). Ну и собственно хочу вынести на ваш суд то, что у меня вышло.
Словарь пока состоит лишь из слов, содержащихся в фразе "привязать лошадь верёвкой к забору". Но я думаю он будет пополняться уже специально для определённых игр.
Формат словарей и таблиц открытый. Описание внутри, так что можете сами добавлять новые слова и тэстить! Я её тэстил только той фразой, что приведена выше, так что если выдруг всплывёт какая-нибудь недоделка, сообщите плиз...
Архив с парсером: СКАЧАТЬ - ~14Kb
Архив содержит:
/Parser.exe - откомпилированный парсер
/Parser.vbp - файл проекта VB6
/frm/Form1.frm - форма проекта VB6
/bas/Parser.bas - модуль проекта VB6, в котором и содержиться основная часть... ![]()
/dict/dict_0.dct - словарь (обычный текстовый файл)
/table/table_0.tbl - таблица для слова привязать. В данной таблице описана первая строка таблицы, которая приведена в статье
Спасибо : Olegus'у, за статью : taplap.ru, за многое : Solitary Pilgrim'у, за великую и прекрасну серию игр ZOMBIE : всем, кто играет в IF и тем самым не даёт расслабляться авторам и прорграммистам :
Неактивен
А кто тут у нас программист? Надо, наверное, в профиле указывать, кто программист, кто писатель, а кто ещё не знаю кто...
Ну, я программист. Во первых, to GrAndrey: если работы ПсихЪов должны смотреть программисты, но им некогда, тк они кому-то показывают свои работы, то кому же тогда эти программисты свои работы показывают? самим себе?
To ПсихЪ: Ну посморел я на твою "работу". Могу оценить - "зачет по основам программирования на VB". нового слова в программировании ты не сказал. никаких других комментариев не нахожу. Но ты ведь не это хотел услышать? Поэтому никто и не отвечает. программируй себе дальше, пока не получится что-нибудь, что сможет оценить НЕпрограммист. То есть работающее приложение. Простенькую платформочку ![]()
Извините за жестокое обращение с...
Неактивен