/*

File PlainWord.h

Letters and words lie at the heart of the crossword puzzle search.  The search currently proceeds one letter at a time; looking one word at a time can be construed as a special case.  Words have only one function: to keep track of the possibilities that remain.

*/

#import <objc/Object.h>
#import "Dictionary.h"


/* 行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行  */


typedef int		(* countTable)[LETTERS];


/* 行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行  */


@interface PlainWord:Object
{
	id		puzzle;
	id		squares;
	char	pattern [MAXLETTERS + 1];
	int		n;
	int		last;
	int		count [MAXLETTERS][LETTERS];
}

- (countTable) getCount;
- initPuzzle: (id) thePuzzle;
- setSquares: (id) theSquares;
- free;
- changeLetter: (int) i  to: (char) c;
- update;
- processWord: (char *) string;

@end