[Home] [Puzzles & Projects] [Delphi Techniques] [Math topics] [Library] [Utilities]
Here's a Scrabble "Helper" program which finds eligible words from the Official Scrabble Word List (TWL06 = 2006 Tournament Word List) given given available tile letters and information about potential connecting letters on the board.
Background & Techniques
We had time over the year-end holidays this year (2013) to play some games with the extended family. Boys have a distinct disadvantage in language-oriented games like Scrabble. I came in third in a 4 player Scrabble game, beaten by my wife and a granddaughter. (I did beat my son though!) Their Scrabble set included a large book of valid Scrabble words and a 3-minute timer to limit the time spent checking for high scoring words. Today's program is an equalizer because it can perform searches thousands of times faster than we poor humans. Now if I can only convince the girls to let me use it J.
Use with a physical board and tiles:
Players can draw tiles and enter or update their tile letters in the text area. The program will never allow more than 7 letters in the set so deletions must be made before additions.
By examining the current board state, they then enter or update the best letters to connect to. Likely candidates are those letters which could lead to multiple word and/or letter scores or have many eligible empty letter spaces before or after the connecting letter. Each candidate letter is entered as a 3 symbol key with format (# of eligible empty cells before the letter, the letter, # of eligible cells following the letter).
After intersection keys are entered, clicking the "Search for Words" button will produce a ranked list of candidates for each connecting letter entry. "Raw" word scores are listed with each candidate, obviously not knowing what effect the word or letter multipliers might have on the true score. Optionally, after electing the word to enter, clicking it will automatically delete the used letters from to tile set. This can also be accomplished by manually editing the text letters.
Using program tile management:
This is an experimental feature which provides a 10x10 tile grid containing a shuffled version of the 100 tiles lying face down. After letters are removed from the player's letter set, either manually or by clicking on the word played. The player may then click individual face-down tiles in the tile grid to add them to his letter set. Players may also double click on the letter display area to randomly draw enough tiles to restore the player's supply back to 7. The feature to allow players to exchange tiles selected from the tile grid as a move is not currently implemented. Another disadvantage of this feature is that all players must use the same tile board which currently means sharing a single Windows laptop or tablet.
Helper or Cheater?
While searching for Scrabble rules I ran across a "Scrabble Cheats" web page which reports that many aficionados consider using a dictionary to be "cheating" and I suppose in tournament play it would be. For friendly play, it seems to be a good way to increase vocabulary. By not considering word and letter multipliers in ranking possible words, there is still plenty of room for mental exercise which candidate words to place in which locations.
Non-programmers are welcome to read on, but may want to jump to bottom of this page to download the executable program now.
Interesting problems addressed in coding this program include:
Suggestions for Further Explorations
Copyright © 2000-2017, Gary Darby All rights reserved.