https://github.com/hopson97/pathfinding-visualiser
Pathfinding Algorithm Visualiser
https://github.com/hopson97/pathfinding-visualiser
pathfinding
Last synced: 9 months ago
JSON representation
Pathfinding Algorithm Visualiser
- Host: GitHub
- URL: https://github.com/hopson97/pathfinding-visualiser
- Owner: Hopson97
- Created: 2021-12-19T15:04:33.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-12T16:59:33.000Z (about 1 year ago)
- Last Synced: 2025-03-29T11:51:40.325Z (10 months ago)
- Topics: pathfinding
- Language: C++
- Homepage:
- Size: 558 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pathfinding Visualiser
Pathfinding algorithm visualisation using C++ and SFML.
So far it can show BFS, Greedy BFS, Dijkstra's, and A*.

### Windows (Visual Studio)
The easiest way to build is to use [vcpkg](https://vcpkg.io/en/index.html) and install SFML through this.
```bash
vcpkg install sfml
vcpkg integrate install
```
Create a new visual studio C++ empty project, git clone the files, and copy them into the project directory.
Select the "Show All Files" options in Solution Explorer, and right-click on the src/ and deps/ directory, and choose the "include in project options"
Go into the project properies and under `C/C++ > General`, add the deps/ directory as an additional include directy.
Finally, under `Linker > Input`, add OpenGL32.lib as an additional dependancy.
### Linux
Requires conan w/ bincrafters and cmake.
```sh
sudo apt install cmake
python3 -m pip install conan
conan remote add bincrafters https://bincrafters.jfrog.io/artifactory/api/conan/conan
```
To build, at the root of the project:
```sh
sh scripts/build.sh install
```
The `install` argument is only needed for the first time compilation as this is what grabs the libraries from Conan, future builds can omit the `install` arg.
To run, at the root of the project:
```sh
sh scripts/run.sh
```
To build and run in release mode, simply add the `release` suffix:
```sh
sh scripts/build.sh release
sh scripts/run.sh release
```