{"id":19512583,"url":"https://github.com/hoshiyamaseizen/astar-java","last_synced_at":"2025-11-20T11:02:59.670Z","repository":{"id":40498721,"uuid":"507571010","full_name":"HoshiyamaSeizen/Astar-java","owner":"HoshiyamaSeizen","description":"A* Algorithm Visualization with Java","archived":false,"fork":false,"pushed_at":"2022-07-12T08:05:07.000Z","size":5797,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-08T12:08:31.046Z","etag":null,"topics":["algorithm","algorithms-and-data-structures","astar-algorithm","fxml","gui","java","javafx","maven"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HoshiyamaSeizen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-26T12:40:55.000Z","updated_at":"2024-07-04T10:46:54.000Z","dependencies_parsed_at":"2022-09-12T03:20:10.751Z","dependency_job_id":null,"html_url":"https://github.com/HoshiyamaSeizen/Astar-java","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoshiyamaSeizen%2FAstar-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoshiyamaSeizen%2FAstar-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoshiyamaSeizen%2FAstar-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoshiyamaSeizen%2FAstar-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HoshiyamaSeizen","download_url":"https://codeload.github.com/HoshiyamaSeizen/Astar-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240762143,"owners_count":19853425,"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","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":["algorithm","algorithms-and-data-structures","astar-algorithm","fxml","gui","java","javafx","maven"],"created_at":"2024-11-10T23:26:55.977Z","updated_at":"2025-11-20T11:02:59.608Z","avatar_url":"https://github.com/HoshiyamaSeizen.png","language":"Java","readme":"\u003ch1\u003e A* Algorithm in Java with GUI\u003c/h1\u003e\n\n\u003ch2\u003e What does the app do?\u003c/h2\u003e\n\nThe user enters a *weighted directed graph*. The application runs the A* algorithm, visually displays the process of the algorithm *step by step*, finds *the shortest path* from vertex A to vertex B and outputs *its length*.\n\n\u003ch2\u003eInstallation and launch\u003c/h2\u003e\nMake sure you have JDK (version 17+) and Maven (version 3.3+) installed and configured. Then go to the project folder and type the following to create a modular runtime image:\n\n\u003ccode\u003emvn clean javafx:jlink\u003c/code\u003e\n\nIt will create a folder with the application which you can launch:\n\n\u003ch4\u003e Windows: \u003c/h4\u003e\n\n\u003ccode\u003e.\\target\\AStar\\bin\\AStar.bat\u003c/code\u003e (cmd)\n\n\u003ccode\u003e./target/AStar/bin/AStar.bat\u003c/code\u003e (PowerShell)\n\n\u003ch4\u003e Linux: \u003c/h4\u003e\n\n\u003ccode\u003e./target/AStar/bin/AStar\u003c/code\u003e\n\nIf instead you just want to build and run the project:\n\n\u003ccode\u003emvn clean javafx:run\u003c/code\u003e\n\n\u003ch2\u003eRunning tests\u003c/h2\u003e\n\nAfter building the project enter the command:\n\n\u003ccode\u003emvn clean tests\u003c/code\u003e\n\n\u003ch2\u003eInput data\u003c/h2\u003e\n\n\u003cli\u003eWeighted directed graph (created by mouse clicks / import from file)\u003c/li\u003e\n\n\u003ch2\u003eOutput data\u003c/h2\u003e\n\n\u003cli\u003eVisualization of the step-by-step process of the A* algorithm \u003cbr/\u003e\u003c/li\u003e\n\u003cli\u003eThe shortest path from A to B and its length\u003cbr/\u003e\u003c/li\u003e\n\n\u003ch2\u003eApp's features\u003c/h2\u003e\n\u003cli\u003eCreate graph by mouse clicks / import from file (number of vertices + vertices coordinates + adjacency matrix with weights)\u003c/li\u003e\n\u003cli\u003eHeuristic choice: Euclidean distance, Manhattan distance and Chebyshev distance\u003c/li\u003e\n\u003cli\u003eMove to the next step in the algorithm and pause during rendering\u003c/li\u003e\n\u003cli\u003eExplanatory notes for the user\u003c/li\u003e\n\u003ch2\u003eUser's Guide\u003c/h2\u003e\n\u003cp\u003e Do you need to find the shortest path in a graph from vertex A to vertex B?\n\nThen, **define the graph** in one of two ways:\na) By *clicking on the window*, choosing the necessary actions: create a vertex, connect vertices, delete a vertex.\nb) *Import the graph from a text file* that should contain the following information about the graph:\n  ~ number of vertices in the graph\n  ~ coordinates of the vertices\n  ~ adjacency matrix of graph with weights\n\nNext, **choose the heuristic** to be used in the A* algorithm:\na) *Chebyshev distance*\nb) *Manhattan Metric*\nc) *Euclidean distance*\n\n**Press the \"Run\"** button to run the algorithm.\n**Select the start and end vertex** of the path.\nThe algorithm is running.\nYou can pause the process of the algorithm and proceed to the next step of the algorithm.\n\nAs a result, you will get the shortest path from A to B and the length of this path.\nYou can also output the resulting graph along with the results to a text file.\u003c/p\u003e\n\n\u003ch2\u003ePossible problems\u003c/h2\u003e\n\nIf you have problems with building the project, the issue may be as follows:\n\n- Wrong JDK version (should be at least JDK 17)\n- Wrong Maven version (should be at least Maven 3.3)\n- Maven not properly configured (`\\maven\\bin\\` path should be added to `PATH` environment variable, and `JAVA_HOME` variable should be set to the `\\jdk` path of the \u003cb\u003esuitable\u003c/b\u003e JDK version)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoshiyamaseizen%2Fastar-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoshiyamaseizen%2Fastar-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoshiyamaseizen%2Fastar-java/lists"}