Description
Goal: Build a project that helps users visualize classic pathfinding algorithms (Dijkstra, A*, BFS, DFS) finding their way from a start node to an end node around user-placed obstacles.
Part 1: Python CLI / GUI (math/Pathfinding-Visualizer/)
- Implement pathfinding logic using a grid structure.
- A CLI representation (e.g., using
curses or print refreshes) OR a GUI application using pygame/tkinter.
- Allow setting a start point, target point, and drawing walls/obstacles.
Part 2: Web Interface (web-app/)
- Build an interactive grid component where users can:
- Click-and-drag to paint walls/obstacles.
- Select start/end nodes.
- Select algorithm (BFS, DFS, Dijkstra, A*).
- Control visualization speed.
- Animate the exploration process (change grid cells to "visiting" and "visited" colors) and highlight the final shortest path in real time.
Deliverables
Description
Goal: Build a project that helps users visualize classic pathfinding algorithms (Dijkstra, A*, BFS, DFS) finding their way from a start node to an end node around user-placed obstacles.
Part 1: Python CLI / GUI (
math/Pathfinding-Visualizer/)cursesor print refreshes) OR a GUI application usingpygame/tkinter.Part 2: Web Interface (
web-app/)Deliverables
math/Pathfinding-Visualizer/with the python code.tests/test_pathfinding.pyto assert correct shortest paths.projects_registry.json.web-app/js/projects/pathfinding-visualizer.js.