A python bot that plays Candy Crush.
Due to lack of time when I coded this I warn you that it's full of hardcoded stuff :).
This is how it works:
- Take a screenshot of the desktop
- Extract the game board from it
- From that game board extract each cell
- Using a classification algorithm determine what candy is in each cell
- Compute the best move using a greedy-like algorithm
- Send Inputs to the browser window
- Wait for the board to stabilize and all the movement to stop
- Goto 1 :)
The main problem now is the fact that I hardcoded the position of the board in the screenshot. You need to ajust the offsets of it in order to match the ones for your browser and screen size.
It works with python 2.7 and needs the libraries: scikit-learn, PIL, win32api.
You can watch it in action here: https://www.youtube.com/watch?v=18vqQOPlvO4
There is a more in-depth explanation about how it works here: https://alexene.dev/2015/05/28/candy-crush-bot.html