{"id":22267899,"url":"https://github.com/cfmvcarlos/wordlesolver","last_synced_at":"2025-10-27T01:02:33.964Z","repository":{"id":264439247,"uuid":"893349369","full_name":"CFMVCarlos/WordleSolver","owner":"CFMVCarlos","description":"This project offers a Wordle Solver written in Python, featuring a powerful backend engine for word evaluation and filtering, along with a user-friendly graphical interface built with Tkinter. Whether you’re solving puzzles or refining your Wordle strategies, this tool provides word suggestions and dynamic feedback to improve your gameplay.","archived":false,"fork":false,"pushed_at":"2024-11-24T09:49:21.000Z","size":763,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T13:28:36.199Z","etag":null,"topics":["algorithm","game-development","python3","tkinter-gui","tkinter-python","word-puzzle","wordle","wordle-solver"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CFMVCarlos.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":"2024-11-24T07:41:29.000Z","updated_at":"2024-11-24T09:51:07.000Z","dependencies_parsed_at":"2024-11-24T10:38:55.951Z","dependency_job_id":null,"html_url":"https://github.com/CFMVCarlos/WordleSolver","commit_stats":null,"previous_names":["cfmvcarlos/wordlesolver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFMVCarlos%2FWordleSolver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFMVCarlos%2FWordleSolver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFMVCarlos%2FWordleSolver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFMVCarlos%2FWordleSolver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CFMVCarlos","download_url":"https://codeload.github.com/CFMVCarlos/WordleSolver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245485690,"owners_count":20623237,"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","game-development","python3","tkinter-gui","tkinter-python","word-puzzle","wordle","wordle-solver"],"created_at":"2024-12-03T11:09:31.078Z","updated_at":"2025-10-27T01:02:33.909Z","avatar_url":"https://github.com/CFMVCarlos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wordle Solver and Game Assistant\n\nThis project offers a **Wordle Solver** written in Python, featuring a **powerful backend engine** for word evaluation and filtering, along with a **user-friendly graphical interface** built with Tkinter. Whether you’re solving puzzles or refining your Wordle strategies, this tool provides word suggestions and dynamic feedback to improve your gameplay.\n\n\u003cimg\u003e\n\u003cimg src=\"WordleSolverExample.png\" alt=\"Wordle Solver Example\" width=\"800\"/\u003e\n\n---\n\n## Features\n\n### Backend Logic\n- **Accurate Word Filtering:** Filters word possibilities based on Wordle feedback (gray, yellow, and green rules).\n- **Optimal Word Suggestions:** Uses character frequency analysis to recommend the most informative next guess.\n- **Customizable Dictionary:** Reads from a dictionary file for flexible wordlists.\n- **Robust Validation:** Ensures all guesses are valid and dictionary-compliant.\n\n### Graphical Interface\n- **Interactive Gameplay:** Type guesses directly and receive real-time suggestions.\n- **Dynamic Color Coding:** Displays Wordle feedback via intuitive button color changes (gray, yellow, green).\n- **Automatic Word Suggestions:** Suggests the best guess based on remaining word possibilities.\n- **Progress Tracking:** Manages up to 6 attempts with clear visual feedback for each stage.\n\n---\n\n## Installation\n\n1. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/CFMVCarlos/WordleSolver.git\n   cd WordleSolver\n   ```\n\n2. **Install Dependencies**:\n   Install Python dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n   *This project primarily relies on Python's built-in libraries.*\n\n3. **Set Up the Dictionary**:\n   Download or create a dictionary file (`CSW19.txt`) containing one word per line in lowercase. Place the file in the project directory.\n\n---\n\n## How to Run\n\n### Graphical Interface (GUI)\nLaunch the interactive Tkinter interface:\n```bash\npython wordleSolverFrontend.py\n```\n\n---\n\n## Usage\n\n### Backend Logic\n- Use `processWordleAttempt()` to evaluate guesses.\n- Call `selectWord()` to generate the best next guess.\n\n### Graphical Interface\n1. Enter your first guess via the keyboard.\n2. Click letters to mark them:\n   - **Gray:** Excluded (not in the word).\n   - **Yellow:** In the word, wrong position.\n   - **Green:** Correct position.\n3. Press **Submit** to process your guess.\n4. Follow suggestions or refine guesses manually.\n\n---\n\n## Project Structure\n\n```\nWordleSolver/\n├── wordleSolverBackend.py   # Core logic for solving puzzles\n├── wordleSolverFrontend.py  # Tkinter-based graphical interface\n├── CSW19.txt                # Word dictionary file (user-provided)\n├── requirements.txt         # Dependency list (if any)\n└── README.md                # Documentation\n```\n\n---\n\n## Key Functions\n\n### Backend Core Functions\n- **`processWordleAttempt(word)`**: Evaluates a guess using Wordle rules.\n- **`selectWord(look_duplicate=False)`**: Suggests the most promising next guess.\n- **`removeGray(char, index, softRemove=False)`**: Eliminates words containing invalid characters.\n- **`removeYellow(char, index)`**: Ensures valid words include characters in incorrect positions.\n- **`removeGreen(char, index)`**: Keeps words matching characters at correct positions.\n- **`isInDictionary(word)`**: Validates if a word exists in the dictionary.\n- **`wordsLeft()`**: Outputs the count of remaining valid words.\n\n### Frontend Features\n- **Keyboard Input**: Type guesses or use backspace to edit.\n- **Letter Feedback**: Click buttons to toggle between feedback states (gray, yellow, green).\n- **Word Submission**: Validates and processes guesses.\n- **Undo Functionality**: Allows users to revert their last action.\n- **Visual Feedback**: Updates the interface dynamically with game progress.\n\n---\n\n## Future Improvements\n\n- Add support for Wordle variants in other languages.\n- Implement additional validation for dictionary entries.\n- Enhance accessibility features for a broader audience.\n- Improve performance for large dictionaries.\n\n---\n\n## Contributing\n\nContributions are welcome! Fork this repository and submit a pull request with your enhancements or fixes. Whether you're refining the logic or adding new features, your input is valued.\n\n---\n\n## License\n\nThis project is licensed under the **MIT License**. For more details, see the `LICENSE` file.\n\n---\n\n## Author\n\n- [Carlos Valente](https://github.com/CFMVCarlos)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfmvcarlos%2Fwordlesolver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfmvcarlos%2Fwordlesolver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfmvcarlos%2Fwordlesolver/lists"}