Note: This was posted on Usenet in 1989 and doesn't even appear to be archived anywhere - I was lucky to find it on a very old floppy disk that I recently resurrected by use of an Acorn Archimedes emulator! The curses code which this invokes appears to be well out of date, and although I've surgically removed chunks of it so it will at least compile, this no longer generates any output. Graham --- Scrabble 1.0, by Wayne Christopher (faustus@yew.Berkeley.EDU) This program plays the board game Scrabble. It uses curses, but it should be easy for somebody to add X10 or X11 support (if anybody does, please tell me). It plays a pretty strong game, usually getting scores between 350 and 400. The major problem is its dictionary -- I have a file that contains most of /usr/dict/words along with plurals, but there are lots of word modifications it doesn't know about (-ing, -ed, ...). There are also "plurals" for adjectives, which are usually wrong. I'm not including this file because it's too large, but if you pipe /usr/dict/words through the plural program (also in this directory) and merge the output with /usr/dict/words, and then take out things like Roman numerals and any other non-words you find, you should have a pretty good word list. The program will remember when you tell it about a word it doesn't know, or tell it it's using a bad word (if you give the -c option), and update the dictionary file so it can learn from experience. If anybody knows of a good wordlist, with all the various forms of words, or for that matter a wordlist with parts of speech, please tell me about it. To install it, update the DICT_DEF definition at the top of the Makefile to indicate where you have installed the dictionary (it's ok to make it /usr/dict/words). You need an ANSI C compiler -- I've only used gcc. The file refresh.c, which is part of curses, is included because I had problems when I compiled the program with gcc against the standard Sun libcurses.a -- I think it has something to do with the fact that refresh.c uses register function arguments. In any case, it went away when I gcc'ed refresh.c also. On another machine you could probably take this file out of the Makefile.