Word Blitz Bot
Can automatically solve a word blitz game. To run the program execute the following command.
Installation
- You will need a install of python3.7.9. Download.
- Download source code by cloning r1.0 branch, or downloading from releases.
- Install all the python dependencies by running
pip install -r requirements.txt
orpip3 install -r requirements.txt
.
Optional Installation Instructions
If you want to keep your python install independent of any dependencies in this project, you can install a virtual environment. Before running step 2 which installs all dependencies, install virtualenv.
- Run
pip install virtualenv
orpip3 install virtualenv
. - Create virtual environment by running
virtualenv venv
. - Activate the virtual environment by running
venv/Scripts/activate.bat
. (Will vary depending on operating system). - Once inside the virtual environment, run step 2 in installation.
Running
python run_bot.py
or python3 run_bot.py
Press the following buttons:
- Read - Image recognition to read in words
- Calculate - Calculate all the best word combinations and their exact score (Displays in list)
- Start - Begin execution of all words (Robot will take control over your mouse)
For the time being, the only way to stop the program is to CTRL-ALT-DELETE.
Other languages support
Use the master branch if you are planning on developing your own dictionary.
Right now there is only an English dictionary. To add your own dictionary, you can use
python3 util/build_dictionary.py <your file>
to create a pickled dictionary which you can load. Your file should be a basic text file, with your words on each new line. See (https://github.com/dwyl/english-words) as an example.
NOTE: With the current way dictionaries are stored, only English words can be removed. You can edit this for your own language in (src/models/dictionary/Dictionary.py) on line 35.
Completed
- Autoclicking and dragging
- Automatically reads all information on screen
- Basic UI
- Finds best possible path for each word and shows them in a list
- Fast loading time for the dictionary
- Fast character/digit recognition using machine learning
- HTML parser to extract missed words and invalid words
- Freeze the tensorflow models for faster loading
TODO
- Keep perfecting the dictionary