Variable: Represents a variable in the crossword puzzle grid. It stores information such as starting point, direction, and length of the word. Crossword: Represents the crossword puzzle itself. It ...
The main algorithm is from https://github.com/riverrun/genxword, I only modified to avoid 'upper-left' cross, which means one horizontal word and one vertical word ...