|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.07.2010, 12:35 | #1 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
ИИ приведений. PacMan
Привет. Помогите пожалуйста. Не как не могу сделать, чтобы приведения свободно ходили по «лабиринту».
Я создал пару функций, чтобы проверять можно ли идти влево, вправо и т.д, если в том направлении нет стены. При перемещении приведения проверяю можно ли идти в направлении, если можно то иду в направлении(логично вроде ). Но не выходит. Как и что я делаю не правильно. Практику поиска кратчайшего пути не предлагать. Т.к. при рандомном перемещении шансов на встречу игроков больше. |
26.07.2010, 12:46 | #2 | |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
Цитата:
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
|
26.07.2010, 12:53 | #3 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
Kotofff, не уверен, но мне кажется, что они рыскают по «лабиринту». Доходят до «поворота» он меняет направление.
|
26.07.2010, 13:36 | #4 |
Форумчанин
Регистрация: 28.07.2009
Сообщений: 189
|
ну мы же тут не экстрасенсы! не можем гадать что у тебя тут не так
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com |
26.07.2010, 13:42 | #5 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Знаете как выйти из лабиринта человеку?
Касаетесь правой рукой стены и идете не отрывая руки от стены. На перекрестках поворачиваете только на право. Вот и весь алгоритм. Так можно выйти из любого лабиринта, хоть путь и не всегда самый короткий. Такой же фокус можно провернуть и с левой рукой. Вот и реализовывайте такую систему. При инициализации привидений, случайно задавайте им руку, которой они будут держаться стены... А на поворотах используйте ваши функции. Привидения должны ходить и обшаривать ваш лабиринт...
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
26.07.2010, 13:44 | #6 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Я предлагаю алгоритм блуждания по горизонтали (только что придумал ). Смысл в том, что гадина ходит лево-право, до тех пор пока не найдет ближайший ход вверх-низ. Далее проверяется, если выполнить перемещение вверх-низ приблизиться ли тварь к игроку. Если да, то перемещаться, если нет (допустим есть возможность подняться наверх, а игрок на уровень ниже), то бродить дальше.
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
26.07.2010, 13:48 | #7 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
|
26.07.2010, 13:51 | #8 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Зато какие страшные)))
Ну а вообще да... Хотелось бы увидеть ваши функции... И как Вы двигаете привидения? У Вас имеется некий массив, в котором создается лабиринт? Поподробнее обрисуйте ситуацию...
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
26.07.2010, 13:56 | #9 | |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Цитата:
К сожалению сейчас нет времени накропать пример...
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
|
26.07.2010, 14:01 | #10 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Этот пример описан в журнале форума ПРОграммист. Найти можно на procoder.info Там же можно найти класс графа реализующего алгоритм Дейкстры.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Игра - аналог Pacman | Гром | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 32 | 16.03.2012 22:34 |
Pacman | Merkator | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 13 | 12.02.2011 13:58 |
Pacman | Roll1n | C++ Builder | 1 | 28.05.2010 20:57 |
Пишу Pacman. Нужна помощь. | AngelOfDeath | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 07.10.2008 14:34 |