{"id":20754457,"url":"https://github.com/israel-charles/gui-dynamic-maze-solver","last_synced_at":"2025-07-25T04:43:46.755Z","repository":{"id":253430452,"uuid":"843464294","full_name":"Israel-Charles/GUI-Dynamic-Maze-Solver","owner":"Israel-Charles","description":"Java-based GUI application that solves mazes using backtracking algorithm. It visualizes the maze-solving process in real-time, highlighting the current path, backtracking steps, and teleportation through portals. The application effectively demonstrates pathfinding algorithms by marking visited cells, backtracking paths, and portal usage.","archived":false,"fork":false,"pushed_at":"2024-10-08T18:23:30.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T04:25:02.629Z","etag":null,"topics":["backtracking","backtracking-algorithm","dynamic-programming","java","java-swing","maze","maze-solver"],"latest_commit_sha":null,"homepage":"https://codepad.site/pad/a49untl5","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/Israel-Charles.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-16T15:14:53.000Z","updated_at":"2024-10-08T18:23:34.000Z","dependencies_parsed_at":"2024-11-17T23:15:36.867Z","dependency_job_id":null,"html_url":"https://github.com/Israel-Charles/GUI-Dynamic-Maze-Solver","commit_stats":null,"previous_names":["israel-charles/dynamic-maze-solver","israel-charles/gui-dynamic-maze-solver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Israel-Charles%2FGUI-Dynamic-Maze-Solver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Israel-Charles%2FGUI-Dynamic-Maze-Solver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Israel-Charles%2FGUI-Dynamic-Maze-Solver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Israel-Charles%2FGUI-Dynamic-Maze-Solver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Israel-Charles","download_url":"https://codeload.github.com/Israel-Charles/GUI-Dynamic-Maze-Solver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243059006,"owners_count":20229476,"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":["backtracking","backtracking-algorithm","dynamic-programming","java","java-swing","maze","maze-solver"],"created_at":"2024-11-17T09:17:53.935Z","updated_at":"2025-03-11T15:27:54.506Z","avatar_url":"https://github.com/Israel-Charles.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GUI Dynamic Maze Solver\nDynamic Maze Solver is a Java-based graphical application that demonstrates maze-solving techniques using a backtracking algorithm. This project visualizes the process of solving a maze in real-time, showcasing pathfinding, backtracking, and teleportation mechanics through portals.\n\n### Demo \u003e https://codepad.site/pad/a49untl5\n\n## Features\n\n- **Real-time Visualization:** Watch the algorithm solve the maze step by step.\n- **Backtracking:** See the algorithm backtrack from dead ends and visualize the path taken.\n- **Portals:** Experience teleportation through numbered portals.\n- **Start and End Points:** Clearly labeled start (`S`) and exit (`E`) points.\n- **Interactive Graphics:** Uses Java Swing to provide a graphical representation of the maze.\n\n## How It Works\n\n1. **Maze Representation:** The maze is represented as a 2D grid, read from a text file where each character denotes a wall, path, portal, start, or exit.\n2. **Pathfinding Algorithm:** A backtracking algorithm explores the maze, visiting valid paths, utilizing portals, and marking visited and backtracked paths.\n3. **Visualization:** The graphical interface updates in real-time to show the current position, visited cells, and backtracked paths.\n\n## Prerequisites\n\n- Java Development Kit (JDK) 8 or later.\n- An IDE or text editor to view and run the Java program.\n\n## Setup\n\n1. **Clone the Repository:**\n\n```bash\ngit clone https://github.com/Israel-Charles/Dynamic-Maze-Solver.git\n```\n\n2. **Navigate to the Project Directory:**\n\n```bash\ncd DynamicMazeSolver\n```\n\n3. **Compile the Java Program:**\n\n```bash\njavac MagicMaze.java\n```\n\n4. **Run the Program:**\n\n\n\n### Maze File Format\n\n1. Create a text file in the project directory to pass it as argument when running the program.\n\n2. Use characters to design your maze:\n\n- '@' for walls\n- '*' for paths\n- '0-9' for portal pairs\n- 'X' for the exit point\u003cbr/\u003e\n\n#### ***Note: Maze will always start at the bottom left corner***\n\n#### ***Some example maze files are in the repo***\n\n## Run the Program\n\n```bash\njava DynamicMazeSolver \u003cmazefile.txt\u003e \u003c# of rows\u003e \u003c# of cols\u003e\n```\nExample with a maze file that has 15 rows and 20 columns:\n```bash\njava DynamicMazeSolver maze4.txt 15 20\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisrael-charles%2Fgui-dynamic-maze-solver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisrael-charles%2Fgui-dynamic-maze-solver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisrael-charles%2Fgui-dynamic-maze-solver/lists"}