Я создал генератор лабиринтов, используя Depth First Search, который возвращает массив фунтов и пробелов, чтобы указать лабиринт. Пример:maze solver in C++
char maze[height][width] =
{
"#########",
"# # #",
"# ### # #",
"# # # #",
"# # # ###",
"# # # #",
"# ### # #",
"# # #",
"#########",
};
Агент всегда будет начинаться в верхнем левом углу (лабиринт [1] [1]) и выход в нижнем правом углу (лабиринт [7] [7]).
Я пытаюсь сделать решатель сейчас, используя глубину первого поиска.
Проблема в том, что я довольно новичок для программистов, поэтому мне трудно понять, как реализовать глубину первого поиска на C++, и у меня есть еще труднее реализовать ее для лабиринта.
У меня есть базовые знания стеков, очередей и т. Д. Я также знаю, как DFS работает в дереве (в значительной степени теоретически), но моя главная проблема заключается в том, как я пойду реализовать это в лабиринте, который хранится в 2D-массив.
Я хочу изучить DFS, чтобы начать работу, а затем я буду реализовывать другую тактику поиска (например, BFS), чтобы начать получать руку на AI.
EDIT: Я не хочу готового кода !!! Я хочу, чтобы вы помогли мне понять, как передать псевдокод на C++ для лабиринта!
Что? Нет! Мне нужно руководствоваться тем, как это сделать на C++, потому что я очень смущен! –
Да, но это, по сути, то, что вы говорите ... Я имею в виду, вы просто указали свои требования и сказали «пожалуйста, помогите». – Doorknob
«так что мне трудно понять, как реализовать глубину первого поиска в C++». Мне нужна помощь в понимании того, как ее реализовать. Я не хочу, чтобы кто-то другой реализовал его для меня. –