Objective: To create a CLI/TUI application that visualizes the execution of various pathfinding algorithms on a grid or graph. The user should be able to set start and end points, place obstacles, and choose an algorithm to visualize the pathfinding process.
Core Features:
- Grid/Graph Creation: Allow users to create a grid or graph structure, where nodes represent possible paths and edges represent the distance or cost to move between nodes.
- Obstacle Placement: Users can mark certain nodes as obstacles or walls, which the pathfinding algorithms must navigate around.
- Algorithm Selection and Visualization: Implement several pathfinding algorithms (e.g., A*, Dijkstra's, Greedy Best-first) and allow the user to select which one to use. The application should visually represent the algorithm's progress in finding the shortest path.
- Performance Metrics: After an algorithm completes, display metrics such as total distance/cost, number of nodes visited, and execution time.