Path-Finding with visual representation and Graphical-User-Interface used to find the shortest path between two points using the A* Algorithm and Heuristics
Run: 𝐩𝐲𝐭𝐡𝐨𝐧 𝐚𝐩𝐩.𝐩𝐲
𝐊𝐞𝐲:
Far Node: #node that is far from the end node (High Heuristic Value)
Close Node: #node that is close from the end node (Low Heuristic Value)
𝐈𝐧𝐩𝐮𝐭:
Space_Bar: 𝐒𝐭𝐚𝐫𝐭
Escape: 𝐑𝐞𝐬𝐞𝐭
Right-Click: 𝐏𝐮𝐭 𝐒𝐭𝐚𝐫𝐭/𝐄𝐧𝐝 𝐧𝐨𝐝𝐞𝐬 𝐚𝐧𝐝 𝐁𝐚𝐫𝐫𝐢𝐞𝐫𝐬
Left-Click: 𝐑𝐞𝐦𝐨𝐯𝐞 𝐒𝐭𝐚𝐫𝐭/𝐄𝐧𝐝 𝐧𝐨𝐝𝐞𝐬 𝐚𝐧𝐝 𝐁𝐚𝐫𝐫𝐢𝐞𝐫𝐬
𝐓𝐨𝐨𝐥𝐬:
𝐓𝐞𝐬𝐭 𝐂𝐚𝐬𝐞𝐬:
Test Case 1: Simple test case with a simple barrier
Test Case 2: Concave Barrier (greedy path finding would have not given a shortest path for this test case)
Test Case 3: Surrounding Barrier (no paths available)
𝐒𝐨𝐮𝐫𝐜𝐞𝐬:
https://en.wikipedia.org/wiki/A*_search_algorithm
https://www.redblobgames.com/pathfinding/a-star/introduction.html
http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html
https://www.geeksforgeeks.org/a-search-algorithm/