I like scrabble. A lot. But as an engineer, I always want to make sure that I'm making the best move possible. I was really interested when I picked up Words With Friends again, and they had a feature called Hindsight, which showed you some of the best moves that you could have made on your turn. However, it's a paid feature. And as an engineer, I'm not willing to pay for something like that. So, I copied a small project from a couple different sources, and created my own small 'Scrabble cheating' script to be used to evaluate moves (after making the best move you can think of! Cheating isn't cool!). It's called pysc, and you can find the code on Github..

The part about pysc that I think is novel is that it supports several different dictionaries:

  • Words With Friends (Modified ENABLE)
  • TWL
  • SOWPODS

These files are used to build anagram dictionaries, which are used to find possible words from the given letters.

In addition to multiple dictionaries, the words can also be scored using the Words With Friends scoring, which has some differences from real Scrabble.

In the future, I'd like to expand this beyond a simple anagram finder, and have it truly replace WWF's Hindsight, by being able to input a board through a text file or GUI, and then evaluate the moves possible. But the first order of business will be to support blank tiles!