{"id":18076859,"url":"https://github.com/forrestknight/sokobansolver","last_synced_at":"2025-04-12T08:42:11.863Z","repository":{"id":107027521,"uuid":"120343072","full_name":"ForrestKnight/SokobanSolver","owner":"ForrestKnight","description":null,"archived":false,"fork":false,"pushed_at":"2018-02-05T18:20:15.000Z","size":10,"stargazers_count":41,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T03:51:12.338Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ForrestKnight.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":"2018-02-05T18:17:20.000Z","updated_at":"2025-02-14T08:14:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"97477632-0b28-4c7a-8548-78064b4542c1","html_url":"https://github.com/ForrestKnight/SokobanSolver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2FSokobanSolver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2FSokobanSolver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2FSokobanSolver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2FSokobanSolver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ForrestKnight","download_url":"https://codeload.github.com/ForrestKnight/SokobanSolver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248543491,"owners_count":21121834,"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":[],"created_at":"2024-10-31T11:11:30.439Z","updated_at":"2025-04-12T08:42:11.842Z","avatar_url":"https://github.com/ForrestKnight.png","language":"Java","readme":"Sokoban Solver\n==============\n\nForrest Knight\n\nCS 480 - Artificial Intelligence - Fall 2017\n\nUsage\n-----\n\nCompile files\n\n    cd src\n    javac *.java\n\nSokobanMain contains the main method. The program takes command-line arguments with\nthe following options.\n\n    java SokobanMain [-option] [Sokoban input file]\n\n    Options\n        -b      Breadth-first search\n        -d      Depth-first search\n        -u      Uniform-cost search (move = 1, push = 2)\n        -gb     Greedy best-first search with number of boxes on goal heuristic\n        -gm     Greedy best-first search with Manhattan distances heuristic\n        -ab     AStar with number of boxes on goal heuristic\n        -am     AStar with goals and boxes Manhattan distances heuristic\n\nNO command-line input validation is done. It's a very simple command-line as I\nwas focused more on the implementation of the searches rather than the prettiness\nof the UI.\n\nInput\n-----\n\nThe Sokoban files must be in the following format.\n\n    [Number of columns]\n    [Number of rows]\n    [Rest of the puzzle]\n\nWith the following state mappings (note that when the player or box is on the\n  goal, the mapping changes).\n\n    0   (hash)      Wall (Obstacle)\n    S   (period)    Empty goal (Storage)\n    R   (at)        Player on floor (Robot)\n    \\+  (plus)      Player on goal\n    B   (dollar)    Box on floor (Block)\n    \\*  (asterisk)  Box on goal\n\nOutput\n------\n\nThe output is in the following format.\n\n    1. String representation of initial state\n    2. String representation of the final state\n    3. Move solution\n    4. Number of nodes explored\n    5. Number of previously seen nodes\n    6. Number of nodes at the fringe\n    7. Number of explored nodes\n    8. Time elapsed in milliseconds\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforrestknight%2Fsokobansolver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforrestknight%2Fsokobansolver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforrestknight%2Fsokobansolver/lists"}