
AStarPathfindingSFML
Визуализатор A* pathfinding с нуля на C++ и SFML: сетка 100×100, стены рисуются мышью, восьминаправленный Euclidean поиск и визуализация open/closed set в реальном времени.
AStarPathfindingSFML — визуализатор A* pathfinding с нуля на C++ и SFML. Рендерит сетку 100×100 тайлов, позволяет рисовать стены мышью, выбирать старт и цель, после чего запускает классический A* поиск (восьминаправленный, Euclidean эвристика) и отрисовывает путь.
Open и closed set визуализируются в реальном времени цветами тайлов. Архитектура минимальна: один класс App владеет окном SFML и Map, Map содержит сетку и AStar searcher, поиск мутирует тот же массив Tile для рендеринга.
A* работает на общей сетке: std::set служит приоритетной очередью (сортировка по f), цикл извлекает ячейку с наименьшим f, помечает её closed и расширяет 8 соседей. reconstructPath проходит parentCoords от цели к старту.
Key features
- A* с нуля на C++/SFML на сетке 100×100.
- Восьминаправленное расширение с Euclidean эвристикой.
- Рисование мышью: левая = стена, правая = старт, средняя = цель; C = запуск поиска.
- Визуализация open/closed set цветами тайлов в реальном времени.
- Один sf::VertexArray из quad (один на тайл); цвета через кешированные vertex-указатели.
- std::set приоритетная очередь; reconstructPath по parentCoords.
- Сборка CMake; SFML подтягивается системой сборки.