{"id":26903242,"url":"https://github.com/shayan925/pathfindingvisualizer","last_synced_at":"2025-10-04T02:15:52.291Z","repository":{"id":64871726,"uuid":"578410364","full_name":"Shayan925/PathfindingVisualizer","owner":"Shayan925","description":"ICS4U final project. A JAR application to visualize A*, Depth first search, and Breadth first search","archived":false,"fork":false,"pushed_at":"2024-06-16T20:58:30.000Z","size":292,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T10:05:34.449Z","etag":null,"topics":["astar-algorithm","bfs-algorithm","dfs-algorithm","gui","jar","java","jframe"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shayan925.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-15T01:40:37.000Z","updated_at":"2024-06-16T20:58:33.000Z","dependencies_parsed_at":"2023-02-10T12:31:15.617Z","dependency_job_id":null,"html_url":"https://github.com/Shayan925/PathfindingVisualizer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Shayan925/PathfindingVisualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shayan925%2FPathfindingVisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shayan925%2FPathfindingVisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shayan925%2FPathfindingVisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shayan925%2FPathfindingVisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shayan925","download_url":"https://codeload.github.com/Shayan925/PathfindingVisualizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shayan925%2FPathfindingVisualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278254466,"owners_count":25956604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astar-algorithm","bfs-algorithm","dfs-algorithm","gui","jar","java","jframe"],"created_at":"2025-04-01T10:05:37.133Z","updated_at":"2025-10-04T02:15:52.276Z","avatar_url":"https://github.com/Shayan925.png","language":"Java","readme":"# Pathfinding Visualizer\n\n#### By: Pareesh, Kabir, Shayan\nJAR application to visualize A*, Depth first search, and Breadth first search\n12/15/2022\n\n### Table of Contents of Tutorials/Guide \n\u003cul\u003e\n\u003cli\u003e Start Up/Installation Guide \u003c/li\u003e\n\u003cli\u003e Main Menu \u003c/li\u003e\n\u003cli\u003e Start \u003c/li\u003e\n\u003cli\u003e Purpose of Project \u003c/li\u003e\n\u003cli\u003e User interaction/Reference Manuals \u003c/li\u003e\n\u003cli\u003e Search \u003c/li\u003e\n\u003cli\u003e Save/Load Game \u003c/li\u003e\n\u003cli\u003e Information \u003c/li\u003e\n\u003cli\u003e Credits \u003c/li\u003e\n\u003cli\u003e Reset \u003c/li\u003e\n\u003cli\u003e Clear Path \u003c/li\u003e\n\u003c/ul\u003e \n\n### I). Start Up/Installation Guide:\n To begin download our JAR from our github. Upon starting the program by clicking on the JAR file, the main menu will be displayed.\n\n### II). Main Menu: \nThe main menu will contain two main components; a menu bar and grid. Navigate through the main menu with the mouse and click on the left mouse button to interact with the buttons. \n\nStart: \nThe user will be prompted via messages to click their start and end tile. \n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Shayan925/PathfindingVisualizer/blob/main/app.png\" height=\"600\" width = \"650\"/\u003e\n\u003c/p\u003e\n\n### III). Purpose of Project: \nThe purpose of this project is to create an application that visualises the process of pathfinding. Pathfinding is a series of steps created to take a starting point, and an ending point. It will then try to find the shortest path between the two, while avoiding obstacles in the way. Through our JAR, users will be able to understand how it operates from first hand experience as they will create a start/end point, obstacles, and find paths with different algorithms.\n\n### IV). User Interaction: \nAfter the user has selected the start \u0026 end points, they will choose their desired pathfinding algorithm from the dropbox above the grid. The dropbox’s options will contain: A*, Depth-First, and Breadth-first search. Then the user can click on tiles with the left mouse button which will change their colour, and mark them as an obstacle. In addition the user can remove obstacles with the right mouse button, changing them back to white. Reference Manuals\nA*: Uses a heuristic which estimates the distance from the start to end. Ours uses the manhattan distance because we are searching on a grid, and cannot move diagonally. Each node stores the distance between the starting and the current and the distance from ending to current, and calculates the next closest point. Once the ending node is reached, we know the optimal path was taken.\nBreath First: Searches all neighbouring nodes, and explores all nodes at the present depth prior to moving on to the nodes on the next depth level. \nDepth First: The algorithm starts at the root node and always travels one direction until it reaches the end (wall, or border) and can’t continue, then it changes direction and continues until it can not travel anymore. This process is repeated until it reaches the end. The user should note the displayed path for depth first is not the shortest.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Shayan925/PathfindingVisualizer/blob/main/edit.png\" height=\"100\" width = \"350\"/\u003e\n\u003cimg src=\"https://github.com/Shayan925/PathfindingVisualizer/blob/main/algorithm.png\" height=\"100\" width = \"350\"/\u003e\n\u003c/p\u003e\n\n\n### V). Search: \nWhen the user clicks the Search button, the corresponding pathfinding algorithm will begin from the start, changing the colour of the tiles while searching, until it reaches the end point. After, the program will display the amount of time it took as well as the number nodes searched. Finally the program will show the shortest path from the start to the end, so the user can compare.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Shayan925/PathfindingVisualizer/blob/main/search.png\" height=\"400\" width = \"450\"/\u003e\n\u003cimg src=\"https://github.com/Shayan925/PathfindingVisualizer/blob/main/path.png\" height=\"400\" width = \"450\"/\u003e\n\u003c/p\u003e\n\n### VI). Save/Load Game: \nThe user can save the game as a csv file at any time by pressing the save button, then load with the load button.\n\n### VII). Information: \nLinks about pathfinding can be found at the top-left of the program, by pressing these links, articles/websites about pathfinding will appear on the users web-browsers so they can learn more.\n\n### VIII) Credits: \nThis option will bring the user to a new screen and allows one to view the members of the staff.\nPress the “back” button to return to the main menu\n\n### X). Reset: \nOne can reset the program and tiles if they press the reset button. This will cause the grid to return to its original white colour.\n\n### IX). Clear Path: \nOne can clear the yellow tiles that indicate the shortest path by pressing the clear path button.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshayan925%2Fpathfindingvisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshayan925%2Fpathfindingvisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshayan925%2Fpathfindingvisualizer/lists"}