Поиск пути в сеточной системеC++

Программы на C++. Форум разработчиков
Anonymous
Поиск пути в сеточной системе

Сообщение Anonymous »

Сейчас я создаю небольшую сеточную игру на C++ с использованием SDL. Я создал класс тайлов, который представляет каждый отдельный тайл на карте. Этот класс плиток используется в двухмерном векторе, одно измерение представляет ось X, а другое – ось Y.

У меня проблема с алгоритмом, да. даже не знаю с чего начать, допустим у меня есть вот такая карта:

Код: Выделить всё

0 0 1 1 0 E
0 0 0 1 0 1
0 C 0 1 0 1
0 1 0 1 0 1
0 1 1 1 1 1
C — мой персонаж, E — выход, а 1 — плитка пола.

Я бы хотел чтобы найти наиболее оптимальный способ выяснить, есть ли у персонажа способ добраться до выхода. Я знаю, что могу использовать функцию для ручной проверки каждой плитки вокруг C, и для каждой плитки пола вокруг C я снова проверяю каждую плитку вокруг, пока не найду последовательный путь, ведущий к E, но это кажется не очень оптимальным.

Могу ли я иметь подсказку или какое-то направление, в котором мне ориентироваться?

Подробнее здесь: https://stackoverflow.com/questions/191 ... rid-system

Вернуться в «C++»