{"id":15934757,"url":"https://github.com/akababa/words-with-bots","last_synced_at":"2025-04-03T15:16:52.787Z","repository":{"id":132081508,"uuid":"93794213","full_name":"Akababa/Words-with-Bots","owner":"Akababa","description":"Bot that plays Words with Friends","archived":false,"fork":false,"pushed_at":"2020-02-16T09:31:12.000Z","size":2004,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-29T08:05:13.465Z","etag":null,"topics":["ai","scrabble-solver","words-with-friends"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Akababa.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":"2017-06-08T21:42:39.000Z","updated_at":"2020-04-18T19:59:25.000Z","dependencies_parsed_at":"2023-07-12T08:46:07.944Z","dependency_job_id":null,"html_url":"https://github.com/Akababa/Words-with-Bots","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/Akababa%2FWords-with-Bots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akababa%2FWords-with-Bots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akababa%2FWords-with-Bots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akababa%2FWords-with-Bots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akababa","download_url":"https://codeload.github.com/Akababa/Words-with-Bots/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247024152,"owners_count":20870940,"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":["ai","scrabble-solver","words-with-friends"],"created_at":"2024-10-07T03:21:01.253Z","updated_at":"2025-04-03T15:16:52.771Z","avatar_url":"https://github.com/Akababa.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Words-with-Bots\nBot that plays Words with Friends\n\nFinds the highest scoring move on any board instantaneously! Crush your friends and ruin the spirit of competition with this bot!\n\n## Usage:\n\n\t./wwf [-b=\u003cboard_file\u003e] [-t=\u003ctile_file\u003e] [-d=\u003cdictionaryfile\u003e] [-c=\u003cconfigfolder\u003e] [-r=\u003cdepth\u003e]\n\n\t-c: The folder with config files (board, tile, dictionary). Run with -c=wwf15 to play on the 15x15 board. (default 11x11)\n\t-r: Forces a rebuild of the trie with given depth (max 5 for now)\n\nTo get started,\n```shell script\ncmake\nmake\n./wwf\n\n```\n\n\n## Commands:\n\n\tgame\n\t\tTake turns playing with the bot.\n\t\t\u003cword\u003e: plays \u003cword\u003e (see pm below for options)\n\t\t.: pass\n\t\t! \u003cletters\u003e: swap letters on the rack\n\tpm [-f] \u003cword\u003e [\u003crow\u003e] [\u003ccolumn\u003e] [d] [\u003cblankposition\u003e]\n\t\tPlays a move. d indicates down and row,col are 1-indexed but blankposition is 0-indexed. Default is horizontal in the center of the board.\n\t\t-f: forces the move even if illegal\n\tpb\n\t\tPlays the best move with the given rack, by score and rack leave heuristics\n\til \u003cword\u003e [\u003crow\u003e] [\u003ccolumn\u003e] [d]\n\t\tDisplays info about a move, including score and legality. Uses same syntax as pm.\n\trm \u003crow\u003e \u003ccolumn\u003e\n\t\tRemoves the letter at the position\n\tra [+\u003cletters\u003e] [-\u003cletters\u003e]\n\t\tAdds/removes the specified letters on the rack, or a random amount from the bag if a number is passed in\n\tlm [-n=\u003cnumber\u003e] [-s=\u003cminscore\u003e] [-h]\n\t\tList legal moves, sorted decreasing by score\n\t\t-n: only top moves\n\t\t-s: moves with minimum score\n\t\t-h: calculate and list by heuristic score\n\tpr \u003cflags\u003e\n\t\tPrints one or more things corresponding to the characters in \u003cflags\u003e:\n\t\tb: print board\n\t\tr: print rack\n\t\tl: print letter bonus squares\n\t\tw: print word bonus squares\n\t\ta: print adjacent word scores\n\t\tp: print board tile values (0 for blanks)\n\tword \u003cword\u003e\n\t\tCheck if \u003cword\u003e is in the dictionary\n\tip \u003cstring\u003e\n\t\tCheck if a string is in the trie\n\tfile \u003cfilename\u003e\n\t\tTake the file as input (like a pipe without EOF)\n\tclear\n\t\tClears the board and resets the first move flag\n\n### Printing format:\n`.` is empty space  \n`?` is double word score  \n`!` is triple word score  \n`'` is double letter score  \n`*` is triple letter score  \n`[` is a blank tile\n```\n 0 1 2 3 4 5 6 7 8 9 0 1\n 1 * . ! . . . . . ! . *\n 2 . ? . . . ? . . . ? .\n 3 ! . * . ' . ' . * . !\n 4 . . . * . . . * . . .\n 5 . . ' . . . . . ' . .\n 6 . ? . . . N O . . ? .\n 7 . . ' . . . X . ' . .\n 8 . . . * . . . * . . .\n 9 ! . * . ' . ' . * . !\n 0 . ? . . . ? . . . ? .\n 1 * . ! . . . . . ! . *\n```\n_Player 1 played NO across, and Player 2 played OX down_\n\n## Notes\nSorry the code is so poorly commented and organized! It was hacked together during a weekend a long time ago and I'm still strugging to understand what the heck it is I did.  \nPull requests (especially refactorings) are welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakababa%2Fwords-with-bots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakababa%2Fwords-with-bots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakababa%2Fwords-with-bots/lists"}