Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
20.12.2002 01:35

psycho
Участник
Зарегистрирован: 24.12.2002
Сообщений: 14

Парсер на VB6 для тэстинга :)

Доброго вам времени суток!

Я давольно давно (с перерывами, правда) слежу за этим форумом и сайтом taplap.ru, качаю периодически статьи. Только вот всё времени не было как следует занятся всем этим. sad А вчера сел-таки... Вытащил из закромов всю инфу по IF, которую собирал по всему рунету около года и сел разбираться. Проглядел имеющиеся исходники игр, мало чего понял. Всё, что смог разобрать было давным давно известно по практикуму в создании текстовых движков с менюшным вводом (коих в моих закромах порядка дюжины smile). А вот как такового IF-движка с вводом команд как-то не получалось...

Начал копаться в статьях, тоже мало чего полезного... И тут наткнулся на статью Olegus'a, которую скачал с сайта taplap.ru. Алгоритм был расписан очень подробно и ясно. Чтож, решено, взялся делать...

Примерно через пол-часа мой VB6 уже исправно повторял всё описанное в статье, а именно: правильно разбирал фразу на составляющие, если она была построена по определённым правилам, описанным в статье. Например, что глагол должен всегда стоять до существительных.

"Блин!" - подумал я. - "Обломно, как-то!" И сел дорабатывать... Ещё через пол часа диких экспериментов и всяческого рода извращений движок стал забивать на порядок слов, лишь бы сама фраза была понятна человеку. smile Написал функции загрузки словаря и отдельных таблиц для глаголов (точь в точь по статье). Ну и собственно хочу вынести на ваш суд то, что у меня вышло.

Словарь пока состоит лишь из слов, содержащихся в фразе "привязать лошадь верёвкой к забору". Но я думаю он будет пополняться уже специально для определённых игр.

Формат словарей и таблиц открытый. Описание внутри, так что можете сами добавлять новые слова и тэстить! Я её тэстил только той фразой, что приведена выше, так что если выдруг всплывёт какая-нибудь недоделка, сообщите плиз...

Архив с парсером: СКАЧАТЬ - ~14Kb
Архив содержит:
      /Parser.exe - откомпилированный парсер
      /Parser.vbp - файл проекта VB6
      /frm/Form1.frm - форма проекта VB6
      /bas/Parser.bas - модуль проекта VB6, в котором и содержиться основная часть... smile
      /dict/dict_0.dct - словарь (обычный текстовый файл)
      /table/table_0.tbl - таблица для слова привязать. В данной таблице описана первая строка таблицы, которая приведена в статье

Спасибо : Olegus'у, за статью : taplap.ru, за многое : Solitary Pilgrim'у, за великую и прекрасну серию игр ZOMBIE : всем, кто играет в IF и тем самым не даёт расслабляться авторам и прорграммистам :

Неактивен

0    0    #2
23.12.2002 04:15

JackCL
Участник (+55, -24)
Зарегистрирован: 03.03.2001
Сообщений: 416

Re: Парсер на VB6 для тэстинга :)

Все это звучит довольно внушительно... Но что скажут наши программисты? Комментарии?..  roll

Неактивен

0    0    #3
23.12.2002 04:46

psycho
Участник
Зарегистрирован: 24.12.2002
Сообщений: 14

Re: Парсер на VB6 для тэстинга :)

Дык вот я и жду коментариев, ведь интересно, что люди скажут, которые этим всем занимаются не первый год!!! А по поводу внушительности, так нет тут ничего внушительно, практически всё держится на статье Olegus'а и словарях. Так что смотрите и коментируйте. Сейчас работаю над последующим парсингом. И вот тут у меня возникли проблемы: как вообще его сделать!!! Если у кого-нибудь есть дельные мысли по этому поводу или примеры, то большая просьба: высказывайте их здесь!!!

Неактивен

0    0    #4
23.12.2002 07:26

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Парсер на VB6 для тэстинга :)

Порядок слов в команде, при котором глагол стоит первым, был выбран по ряду причин:
     - Во-первых, это сильно облегчает жизнь при разборе составных фраз (например, возьми лампу и зажги ее), поскольку появление глагола сигнализирует о начале новой команды.
     - Во-вторых, это в общем-то естественный порядок слов...

Неактивен

0    0    #5
23.12.2002 10:07

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Парсер на VB6 для тэстинга :)

Программисты скажут: "Пожайлуста, встаньте в очередь. Сейчас наши работы посмотрят, а потом и до вас дойдут."

Неактивен

0    0    #6
24.12.2002 01:55

FighteR
Участник
Откуда: Долгопрудный
Зарегистрирован: 12.12.2002
Сообщений: 33

Re: Парсер на VB6 для тэстинга :)

А кто тут у нас программист? Надо, наверное, в профиле указывать, кто программист, кто писатель, а кто ещё не знаю кто...

Ну, я программист. Во первых, to GrAndrey: если работы ПсихЪов должны смотреть программисты, но им некогда, тк они кому-то показывают свои работы, то кому же тогда эти программисты свои работы показывают? самим себе?

To ПсихЪ: Ну посморел я на твою "работу". Могу оценить - "зачет по основам программирования на VB". нового слова в программировании ты не сказал. никаких других комментариев не нахожу. Но ты ведь не это хотел услышать? Поэтому никто и не отвечает. программируй себе дальше, пока не получится что-нибудь, что сможет оценить НЕпрограммист. То есть работающее приложение. Простенькую платформочку smile

Извините за жестокое обращение с...

Неактивен

0    0    #7
24.12.2002 02:49

psycho
Участник
Зарегистрирован: 24.12.2002
Сообщений: 14

Re: Парсер на VB6 для тэстинга :)

Ну это уже что-то!!! Спасибо!
Только "платформочку" писать пока смысла не имеет. По разным причинам... smile

А позволите ли вы задать вам маленькое заданьице (оно конечно более подходит для форума "Флэйм" но всё же):

Хотелось бы услышать как можно больше коментарием и предложений на тему: "идеальная IF-игра". Т.е. что программисты и НЕпрограммисты хотели бы видеть в идеальной IF-игре или платформе? Прошу вас помечтать на эту тему. Приветствуются самые сумасшедшие предложения. Ведь очень интересно, куда всё это катится и чем, на взгляд опытного в этом деле человека, всё может закончится! smile

Неактивен

0    0    #8
04.01.2003 03:37

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Парсер на VB6 для тэстинга :)

  Что я хочу видеть в идеальной IF-игре?

   1) Идею. Достало лазить по пещерам, спасаться от циклопов, бродить в виде зомби по лабиринту без малейшей логики... Должна быть идея, смысл всей игры. Хорошие книги от просто книг тем и отличаются, что они доносят идеи до читателя.
   2) Логику. Практически во всех играх, что я играл, логика отсутствует напрочь. Одной из последних таких игр является "Приключение". Полный бред. (если кого интересует, могу привести примеры)
   3) Паззлы. Без комментариев.

   Вот чего не хватает нашим игрушкам. Пока ни одной такой замечено не было.

   Отчаянный Дух (ОДИН)

Неактивен

0    0    #9
06.01.2003 03:14

psycho
Участник
Зарегистрирован: 24.12.2002
Сообщений: 14

Re: Парсер на VB6 для тэстинга :)

2Отчаянный Дух (ОДИН)

Всё, что ты написал, конечно, правильно, но меня сейчас больше интересует всё это с программистской точки зрения. Точнее некий предел желаний и возможностей. Если у кого-нибудь есть на этот счёт что сказать - говорите! Чтобы затем можно было всё это обобщить и знать - куда мы движемся и чего ждать! К чему стремиться!

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru