{"id":20048450,"url":"https://github.com/aggstam/freecell_solver","last_synced_at":"2026-06-08T08:06:54.223Z","repository":{"id":155101783,"uuid":"139044813","full_name":"aggstam/freecell_solver","owner":"aggstam","description":"This program solves freecell solitaire puzzles using four algorithms: Depth first search, Breadth first search, Best first search and A*","archived":false,"fork":false,"pushed_at":"2023-05-16T15:36:03.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-02T08:24:14.674Z","etag":null,"topics":["ai-algorithms","c","freecell-solver"],"latest_commit_sha":null,"homepage":"","language":"C","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/aggstam.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-28T16:42:50.000Z","updated_at":"2022-11-05T12:59:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"697ce169-dfd2-440e-a9ab-4ef1bbaf8503","html_url":"https://github.com/aggstam/freecell_solver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aggstam/freecell_solver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Ffreecell_solver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Ffreecell_solver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Ffreecell_solver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Ffreecell_solver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aggstam","download_url":"https://codeload.github.com/aggstam/freecell_solver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Ffreecell_solver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34053542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"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":["ai-algorithms","c","freecell-solver"],"created_at":"2024-11-13T11:44:10.908Z","updated_at":"2026-06-08T08:06:54.212Z","avatar_url":"https://github.com/aggstam.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# freecell_solver\n\nThis program solves freecell solitaire puzzles using four algorithms:\n- Depth first search [1]\n- Breadth first search [2]\n- Best first search [3]\n- A* [4]\n\nPuzzles are read from an input file, while solution is written to an output file.\n\u003cbr\u003e\nMax card number per stack is defined in the first line of the input file.\n\u003cbr\u003e\nThree input files have been provided to play with.\n\u003cbr\u003e\nNote: Breadth first search will result in OOM for max card number \u003e 4.\n\u003cbr\u003e\nThis is due to algorithms nature, not implementation.\n\n## Usage\n### Make usage\n```shell\n$ make\n```\nTo use a different method:\n```shell\n$ make METHOD={method}\n```\nTo use a different input file:\n```shell\n$ make FILE={input_file}\n```\nTo configure output file name:\n```shell\n$ make OUTPUT={output_file}\n```\n\n### Direct usage\nCompilation:\n```shell\n$ gcc -o project_freecell project_freecell.c\n```\nExecution:\n```shell\n$ ./project_freecell {method} {input_file} {output_file}\n```\n\n## Execution example\n```shell\n$ make\ngcc -o project_freecell project_freecell.c\n./project_freecell depth test_file_size_5.txt output.txt\nBuilding puzzle with N: 5\nSolving test_file_size_5.txt using depth...\nSolution found! (30 steps)\nTime spent: 0.001146 secs\n```\n\n## References\n[1] https://en.wikipedia.org/wiki/Depth-first_search\n\u003cbr\u003e\n[2] https://en.wikipedia.org/wiki/Breadth-first_search\n\u003cbr\u003e\n[2] https://en.wikipedia.org/wiki/Best-first_search\n\u003cbr\u003e\n[2] https://en.wikipedia.org/wiki/A*_search_algorithm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggstam%2Ffreecell_solver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faggstam%2Ffreecell_solver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggstam%2Ffreecell_solver/lists"}