|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.01.2013, 18:04 | #1 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
Поиск пути
Есть массив символов, есть символ обозначающий препятствие, есть конечная точка и стартовый объект 3x3 клетки,
не подкинете идею как находить путь к конечным координатам? |
29.01.2013, 18:10 | #2 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 139
|
Если я правильно понял, то это может выглядеть так?
Код:
Объект должен описывать свойства рядом стоящих объектов. Самый краткий путь достигается либо по диагонали, либо по вертикали/горизонтали (в зависимости от расстановки препятствий) Сначала узнайте местоположение конечного объекта, потом смотрите какой из 3-х путей выбрать (либо совмещённый). По-мойму в алгоритме не должно быть сложных замутов (стандартные ij алгоритмы) Если будут более узкие вопросы, то спрашивайте, самому интересно) Последний раз редактировалось Blind Guard; 29.01.2013 в 18:15. |
29.01.2013, 18:19 | #3 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
У Вас есть дискретный мир, в котором Ваш объект может иметь только какие-то определённые координаты и Вам нужно составить последовательность шагов, приводящую в заданную точку? Ищите по словам "алгоритмы поиска пути". Если достаточно хорошо знаете английский, вот здесь был хороший материал.
|
29.01.2013, 19:05 | #4 |
Пользователь
Регистрация: 01.05.2012
Сообщений: 14
|
Самый лучший и универсальный вариант - реализовать алгоритм А*. http://ru.wikipedia.org/wiki/%D0%90%...D0%BA%D0%B0_A*
Правда, в вашем случае лучше реализовать поиск пути "тупо беря быка за рока". Прогоняйте по всем возможным вариантам и сравнивайте их друг с другом. Из найденных путей выбирайте самый короткий - вот вам и путь найден. |
29.01.2013, 19:29 | #5 |
Форумчанин
Регистрация: 23.03.2011
Сообщений: 310
|
Grand_Daddy, идти во все свободные стороны и так каждый раз, отмечая посещенные и не ходить если она посещена, но полученный путь надо или хранить или каждый раз по новой после каждого хода находить, я посмотрел можно еще трассировкой
т.к. краткость пути не важна Надежная трассировка. http://pmg.org.ru/ai/stout.htm#robust_trace |
29.01.2013, 20:00 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,964
|
В машине, координаты известны. Ха + уb. Где a и b, смещение.
Проверяем координаты на смещение, если на пути встречается "препятствие", обходим его, используя ту-же формулу.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
поиск пути | Nikita1111 | Visual C++ | 1 | 09.02.2012 00:44 |
Поиск пути | Federal | Помощь студентам | 1 | 19.06.2011 12:24 |
поиск кратчайшего пути | LENA_M | Общие вопросы C/C++ | 0 | 29.05.2010 22:15 |
Поиск пути в лабиринте | s2dentishe | Помощь студентам | 2 | 13.03.2010 18:36 |
поиск пути | NiCola999 | Общие вопросы C/C++ | 19 | 16.11.2009 09:25 |