НОВЫЕ ИГРЫЛУЧШИЕ ИГРЫФОРУМ 292 Всего сообщений: 305037
+  Форум FlashPlayer.ru
|-+  Форум по flash играм
| |-+  Академия flash программирования (Модераторы: Lexei, Vetal1992)
| | |-+  у мя вопрос помогите плз

Автор Тема: у мя вопрос помогите плз  (Прочитано 11887 раз)

0 Пользователей и 1 Гость просматривают эту тему.

rpgeha1

  • Гость
у мя вопрос помогите плз
« : 18 Сентября 2009, 23:09:57 »
Как сделать говоруна то есть пишешь ему например, "привет!", он отвечает :help: :help: :help:

<Грамотнее пиши, и капс офф. Alex44_зараза(>
« Последнее редактирование: 23 Декабря 2009, 16:42:01 от rpgeha1 »

Оффлайн Alex44 Мужской

Re: у мя вопрос помогите плз
« Ответ #1 : 19 Сентября 2009, 14:59:24 »
Цитата: rpgeha1 от 18 Сентября 2009, 23:09:57
КАК ЗДЕЛАТЬ ГОВУРУНА ТОИСТЬ ПИШЕШ ЕМУ НАПРИМЕР ПРИВЕТ ОН АТВЕЧАЕТ :help: :help: :help:
Капс офф - раз.
Нафига он тебе, стебаться же будут? - два.

Оффлайн Хемуль Мужской

Re: у мя вопрос помогите плз
« Ответ #2 : 19 Сентября 2009, 15:15:22 »
Цитата: Alex44 от 19 Сентября 2009, 14:59:24
Нафига он тебе, стебаться же будут? - два.
Если спросил ,значит надо!
По теме: как это сделать самому на флеше, я не знаю. Но можно посмотреть тут. здесь создаешь "Инфа" и "обучаешь его". То есть пишешь ответы на все эти "Приветы" и другие вопросы. Попробуй. Если не справишься тут ,то на флеше и подавно.

Re: у мя вопрос помогите плз
« Ответ #3 : 19 Сентября 2009, 15:59:38 »
В теории можно сделать так:
Создаеш два массива. Первый с пользовательскими словами, второй с ответами.  В переменную(например a) вставляеш то, что написал пользователь. И циклом for просматриваеш совпадения в первом массиве, а при нахождение совпадения выдаеш ответ из второго.
На практике это лучше использовать при небольших диалогах с ответами в игре, чтобы помучать игрока. Или например ввод всего слова в игре поле чудес))).

P.S. Код могу поискать(или у Vetal спроси), но оно тебе надо?

Оффлайн Vetal1992 Мужской

Re: у мя вопрос помогите плз
« Ответ #4 : 23 Сентября 2009, 22:01:17 »
Я могу поработать над этим)

Можно разделить массив условно на сегменты, и все слова сортировать по алфавиту. Если слово будет совпадать, отправлять ответ.

Быстродействие будет высокое, до полумиллиона запросов-ответов в одном массиве)

еще, можно слово разбирать по слогам, и как шаблон сравнивать с данными в массиве.

т.е. даже если программе написать "Приве", "Прива" - она поймет смысл)

На такую мощную прогу уйдет много времени)

Re: у мя вопрос помогите плз
« Ответ #5 : 06 Декабря 2009, 00:44:10 »
А что, если БД сделать отдельно от программы? Тогда можно будет свои "разговоры" делать. Но все равно движок нужен

Оффлайн Jeka Мужской

Re: у мя вопрос помогите плз
« Ответ #6 : 22 Декабря 2009, 01:13:44 »
Вы когда-нибудь программировали на прологе (prolog)?
Первые попытки написания подобия искусственного интеллекта совершались именно на нем еще два десятка лет назад, потому что для таких задач привычные нам процедурные языки программирования не годятся. Не годятся потому, что вся суть их сводится к простому перебору вариантов. И если перебрать все варианты с применением современной вычислительной силы - задача более-менее реальная, то составление этих вариантов - задача практически нерешаемая.

Логические же языки программирования позволяют составлять так называемые "базы знаний" на основе фактов и правил, благодаря которым язык может сам не только генерировать ответы, но и "самообучаться", пополняя свою же базу знаний новыми фактами и правилами.

Если интересно, почитайте.

Добавлено через: 8 мин. 32 сек.
Мы в универе делали такие программки на прологе, которые отвечали на простые вопросы. База знаний, правда, состояла всего из нескольких десятков фактов - но это все, что мы успевали сделать в пределах лабораторки.

Конечно, на флэше это все выглядит красивее, чем черный экран пролога, да и прологом сейчас пользоваться никто не будет, но если вам действительно интересен этот вопрос - вы должны знать, что существуют специальные инструменты для этого.
« Последнее редактирование: 22 Декабря 2009, 01:24:15 от Jeka »

Оффлайн Vetal1992 Мужской

Re: у мя вопрос помогите плз
« Ответ #7 : 22 Декабря 2009, 02:36:18 »
Несомненно, prolog лучше, чем флэш для таких программ... Но если на флэше сделать целый портал, то говорилка будет гораздо круче. Эту самую "базу знаний" можно будет хранить и обновлять на сервере.

Флэш - это полный полет фантазии, особенно если его связать с серверными технологиями  :)

P.S.: Пролог - старье  :D

Оффлайн Jeka Мужской

Re: у мя вопрос помогите плз
« Ответ #8 : 22 Декабря 2009, 03:40:58 »
Ну что сказать... Да, на практике игры типа sayme или другие говорилки этого уровня будут использовать тупой перебор фраз по совпадению слова или его части.

Все, что более сложно, уже не для наших умов. И я тут не имею ввиду, что наших знаний не хватит, чтобы написать более-менее сложную программу на прологе. Чтобы машина "поняла" смысл введенного текста и сгенерировала бы адекватный ответ, нужен глубокий семантический анализ текста, что само по себе является нетривиальной задачей, и простого машинного перебора тут недостаточно - нужна логика! но только тогда можно добиться реалистичного результата в общении с машиной.
« Последнее редактирование: 22 Декабря 2009, 03:43:31 от Jeka »

Re: у мя вопрос помогите плз
« Ответ #9 : 22 Декабря 2009, 10:13:07 »
Ты программировал на Прологе? Сложно?

Оффлайн Jeka Мужской

Re: у мя вопрос помогите плз
« Ответ #10 : 22 Декабря 2009, 13:37:26 »
Сложно, потому что этот язык сильно отличается от привычных нам - там нет, например, циклов и вообще там все по-другому, не так как мы привыкли. Программировал только в рамках институтского курса по логическому программированию.

Оффлайн Vetal1992 Мужской

Re: у мя вопрос помогите плз
« Ответ #11 : 22 Декабря 2009, 23:37:38 »
А я программировал процессоры i8080 и i8086. Там тоже просто последовательность команд по типу:

MVI A,80h
MOV B,A

и т.п. короче ассемблер))
« Последнее редактирование: 22 Декабря 2009, 23:41:26 от Vetal1992 »

Re: у мя вопрос помогите плз
« Ответ #12 : 23 Декабря 2009, 12:14:36 »
Эх... А я даже нормальной проги на паскале не написал :(

HlN

  • Гость
Re: у мя вопрос помогите плз
« Ответ #13 : 23 Декабря 2009, 14:19:08 »
Любая программа является нормальной если она работает
Пример кода нормальной программы:
begin
end.
Работает? Работает!

HlN

  • Гость
Re: у мя вопрос помогите плз
« Ответ #14 : 23 Декабря 2009, 15:24:41 »
Я не писал xD

+  Форум FlashPlayer.ru
|-+  Форум по flash играм
| |-+  Академия flash программирования (Модераторы: Lexei, Vetal1992)
| | |-+  у мя вопрос помогите плз