This is a copy of the basic scrabble engine I wrote several years ago on the Acorn archimedes; however if you compile it with -TTY it will play from a dumb terminal. It requires that the human manage the bag of tiles and the board - this was primarily a debugging interface. It ought to be relatively easy, given the hooks for the Archie windows manager, to convert this into something for any graphics frontend or even a CGI to run on the web. The entire state between moves is passed in. This was originally written in Pascal, but the version you see here was translated by p2c into C, then some maintenance was done to the C version, so going back to the pascal source at this point would be a mistake. However, the C source is not the most readable in the world so I include an old Pascal version as reference documentation. NEITHER of these versions are the final one. That one got lost when I left the UK and didn't take a working Archimedes with me... I'm hoping to recover those old lost discs sometime soon. There is no strategy in this player, it just plays the highest-scoring word. The original effort in this program was to make it look good on the Archimedes windows manager. The included dictionary is of dubious quality and should be replaced. (The same could be said of the C code) This does *not* use the DAWG data structure. I just wanted to be different. It uses a data structure keyed by a canonical sort of the wordlist (ie using an anagram dictionary) This program can be quickly adapted to solving scrabble puzzles by feeding in a different "board.init" Graham Toal --------------------------------------------------- MEMO: came across some code recently for permutations this is different from the one I wrote. Should have a look at it to see how it works: http://www.cs.georgetown.edu/~velar/code/permutations.html