The popular word game recreated in Python, deployable with custom answers.
Project description
Wordle
Wordle is super fun and popular game. Unfortunately, it's new and nonstandard, meaning the backend technology is not prevalent and recreatable online. There are a couple web-based customizable Wordle tools, which work very well, but they're front-end only (you can't clone, copy, modify, or edit the back-end to deploy it to a website or run your own game). That said, the logic behind Wordle is quite simple which is why it's now a Python library, enabling all the functions of an open-sourced game.
Currently, the module is logic based and runs in a shell. I'd love it if this project was forked into a GUI-based application, possibly using pygame
, allowing users to take this a step further and deploy a version with a user-interface. As it stands, the best way I can think of to deploy Wordle to the web is by using an embedded Python console like Trinket and putting it in 'run-only' mode so users can't see the source code (where the answer is). See an example of this in real deployment here.
In any case, usage of this module is wickedly simple.
import wordle
game = wordle.Wordle(word = 'HELLO', real_words = False)
game.run()
# Or even more simply:
wordle.Wordle(word = 'hello', real_words = True).run() # runs in one line.
Instantiate a game
object using game = wordle.Wordle()
. The two positional requirements of the Wordle
class are word
and real_words
. word
is the answer to the game. If the object is instantiated with real_words = True
, word
must be a real, five-letter word or an exception will be raised, and you'll have to change your instantiation to reflect a real word. real_words
is a boolean. If it's True
, the package will check user's (in-game) guesses against a comprehensive inbuilt database of thousands of five-letter words. If it's False
, any guess (real or not) will be accepted. In summary, real_words
applies both to the answer in the code's instantiation and in the user's in-game guesses.
In the game of Wordle, part of the challenge is that guesses must be real words. This prevents users from guessing "aeiou"
as their first attempt, for example. That's it's relevant and important for you to tell the game
object whether it should check for real words or not.
Note: In version 1.5.10, the issue disallowing a lower-case word
has been patched. word = 'hello'
and word = 'HELLO'
are both acceptable in the game initialization.
To view the docstring (explainer) of a particular function, use Wordle.run.__doc__
where run
can be repalced with any other function. For example, running print(Wordle.run.__doc__)
will return: Run the game. Depends on bool real_words from instantiation.
Depending on your IDE, hovering over a function in the editor will show the function's docstring (works in VS Code).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wordle-python-1.7.15.tar.gz
.
File metadata
- Download URL: wordle-python-1.7.15.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa12824e727998b55efe8a70a2f35914bab20e8daf5e6e191f3cd1aa85d2a879 |
|
MD5 | 458a611890d7c4f10091b0253f738b86 |
|
BLAKE2b-256 | d6f09d86a52536d6391a0053298f381df4b070bd0ee90a9aa48c7ea0d35fe120 |
File details
Details for the file wordle_python-1.7.15-py3-none-any.whl
.
File metadata
- Download URL: wordle_python-1.7.15-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 618adc1a324287abdf87f4561b7c8e2716befec9cc5175333cc952f816b0d0d5 |
|
MD5 | 0e9cef1eb855ca95a6eb6a536a31a7c7 |
|
BLAKE2b-256 | 1ae79c490c215e5413ff23b373c6d0111f3aac8f8d916f3377a31e326d5e2fa4 |