Доброго вам времени суток!
Я давольно давно (с перерывами, правда) слежу за этим форумом и сайтом 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 и тем самым не даёт расслабляться авторам и прорграммистам :
Неактивен
Дык вот я и жду коментариев, ведь интересно, что люди скажут, которые этим всем занимаются не первый год!!! А по поводу внушительности, так нет тут ничего внушительно, практически всё держится на статье Olegus'а и словарях. Так что смотрите и коментируйте. Сейчас работаю над последующим парсингом. И вот тут у меня возникли проблемы: как вообще его сделать!!! Если у кого-нибудь есть дельные мысли по этому поводу или примеры, то большая просьба: высказывайте их здесь!!!
Неактивен
Ну это уже что-то!!! Спасибо!
Только "платформочку" писать пока смысла не имеет. По разным причинам... ![]()
А позволите ли вы задать вам маленькое заданьице (оно конечно более подходит для форума "Флэйм" но всё же):
Хотелось бы услышать как можно больше коментарием и предложений на тему: "идеальная IF-игра". Т.е. что программисты и НЕпрограммисты хотели бы видеть в идеальной IF-игре или платформе? Прошу вас помечтать на эту тему. Приветствуются самые сумасшедшие предложения. Ведь очень интересно, куда всё это катится и чем, на взгляд опытного в этом деле человека, всё может закончится! ![]()
Неактивен
2Отчаянный Дух (ОДИН)
Всё, что ты написал, конечно, правильно, но меня сейчас больше интересует всё это с программистской точки зрения. Точнее некий предел желаний и возможностей. Если у кого-нибудь есть на этот счёт что сказать - говорите! Чтобы затем можно было всё это обобщить и знать - куда мы движемся и чего ждать! К чему стремиться!
Неактивен